Ir ao conteúdo
  • Cadastre-se

C Identificar linha em laço de leitura de arquivo


Posts recomendados

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

 

 

 

Link para o comentário
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 :(

 

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...