Ir ao conteúdo
  • Cadastre-se

C Pegar Informação a parti da segunda linha do documento.


RochaK
Ir à solução Resolvido por isrnick,

Posts recomendados

Bom Dia, estou precisando de uma ajudinha em C, tenho um programa que gera um documento unificado de vários documentos, o problema é que ele pega o cabeçalho de todos eles, como em todos são o mesmo cabeçalho queria colocar um contador que pegasse no primeiro documento o cabeçalho e os dados, e a partir do segundo documento pegue da segunda linha.

 

Ex: vou ter vários documentos como esse.

 

image.png.5e6f6c1e62b46a0e8a724d27c8136d02.png

 

if((arq_ent = fopen(arquivo, "r")) == NULL)
    {
        printf("\nErro Abrindo arquivo de entrada %s\n", arquivo);
        exit(1);
    } 

    while (fgets(registro, 400, arq_ent) != NULL) //Ler todos os arquivos de dentro do arquivo que o programa criou.
    {
		printf("Lendo Arquivo \n ");
        Linha++;
		strcpy(registroAux, "");
		
		printf("Arquivo = -%s- \n", registro);
		alltrim(registro);
		Converte(registro); //Retira os caracteres especiais para não ocorrer quebra de linha, 
							//depois ele faz a linha de comando que uni todos os arquivos em um só.		
		printf("registro1 = -%s- \n", registro);
		
		
		printf("registroAux = -%s- \n\n", registroAux);
		
		
		if(Linha == 1)
		{
			strcpy(comandoJuntarArqs, "cat ");
			strcat(comandoJuntarArqs, registro); 
			
		}
		else
		{
			strcat(comandoJuntarArqs, " "); 
			strcat(comandoJuntarArqs, registro); 
		} 
    }	

 

Link para o comentário
Compartilhar em outros sites

  • Solução

Por causa do modo como você fez seu programa isso é uma pergunta sobre linux não de linguagem C.

 

Você está usando a função system() para executar o programa cat do linux para concatenar os arquivos, mas para pular linha você poderia mudar para o programa tail com parâmetro -qn +2 para pular para a segunda linha de cada arquivo.

 

Por exemplo:

tail -qn +2 arquivo1.csv aquivo2.csv arquivo3.csv > saida.csv

Vai concatenar os 3 arquivos na saída sempre começando a partir da segunda linha.

 

https://superuser.com/questions/62970/unix-cat-starting-from-line

 

Note que isto faria com que não tenha nenhum cabeçalho na saída, nem mesmo o primeiro cabeçalho. Então se fizer assim terá que fazer algo a mais se quiser colocar o cabeçalho no começo do arquivo.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!