Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
KiNgPiTo

Reler linhas com o fgets...

Recommended Posts

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!  :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.