Ir ao conteúdo
  • Cadastre-se
Estudante0123

C Identificar linha em laço de leitura de arquivo

Recommended Posts

Estou treinando arquivos. Para ler um arquivo fiz o seguinte código:

 i = 1;
  while (!feof(arq))
  {
	// Lê uma linha (inclusive com o '\n')
    fgets(Linha, 100, arq);  // o 'fgets' lê até 99 caracteres ou até o '\n'
	  printf("Linha %d : %s",i,Linha);
      i++;
  }

 

Gostaria de saber como faço para contar quantas linhas tem esse arquivo e como dar printf em uma linha especifica, alguém poderia me explicar? Obrigado

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já está contando as linhas do arquivo na variável i.

 

E para imprimir uma linha específica basta colocar um if englobando o printf dentro do while.

if (i == linha_especifica){
    printf("Linha %d : %s",i,Linha);
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Estudante0123 É, tal como o @isrnick falou acima. Com a variável i já está sendo contado as linhas.

Um exemplo do uso:

 

#include <stdio.h>
#include <locale.h>

int main() {

    FILE *arq;
    char *result = NULL;
    char line[250];
    int i;

    setlocale(LC_CTYPE, "Portuguese"); // isso é porque nas frases do arq uso acentuação 

    arq = fopen("frases.txt", "r");

    if (!arq) {
        printf("\nNao foi possivel abrir o arquivo!\n\n");
    } else {
        i = 0;
        while (!feof(arq)) {
            result = fgets(line, 250, arq);
            if (result) {
                if (i == 15) {
                    printf("%d %s", i, line);
                }
                i++;
            }
        }

        printf("\nQuantidade de linhas: %d\n\n", i);

        fclose(arq);
    }

    return 0;
}

 

adicionado 1 minuto depois

No código estou imprimindo a linha 15 do arquivo

adicionado 4 minutos depois

Estava pronto para dar a resposta mas, como d costume, o colega aí, o @isrnick foi mais rápido :(

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×