Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

KiNgPiTo

Reler linhas com o fgets...

Mensagens Recomendadas

KiNgPiTo

Boas pessoal!

Ando aqui a fazer umas coisas, mas estou com uma duvida que já me apareceu há uns anos, mas na altura contornei de uma maneira qualquer...

Tenho um programa à base de comandos e inserindo uma letra, irá procurar num ficheiro com nomes, o(s) nome(s) correspondentes à inicial.

A duvida está na parte em que leio as linhas com o fgets, para uma string e depois sem fechar o ficheiro, utilizar o fgets() != NULL não irá funcionar pois na 1ª execução irá ficar NULL...

Ainda está no inicio:

        do{        

        printf("\n\t-> ");
        scanf("%s", &pes);

        if ( (strlen(pes) > 1) && strcmp(pes, "exit") != 0 )
            printf("\n\tComando invalido\n");

        else{

            while ( fgets(linha, sizeof(linha), ff) != NULL ){

                printf("%s", linha);

            }
            
        }

        }while( (strcmp(pes, "exit")) != 0 );

Para já, para testar apenas quero que apareça todo o ficheiro sempre que for inserida uma letra apenas ou exit que será o comando para sair... Mas funciona direito na 1ª execução, mas depois não... Como é que torno a ler o ficheiro do inicio sem meter um fclose e outro fopen em cada execução do ciclo?

Cumprimentos!  :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.