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

bmosca

leitura de um ficheiro de texto

2 mensagens neste tópico

boas,

tenho um ficheiro texto assim:

------------------------------------------------

Numero de alunos: 8

Numero de provas: 5

------------------------------------------------

queria ir buscar os dois inteiros, (8 e 5) e atribui-los a duas variáveis, já tentei com fscanf e fgets mas não consigo fazer nada :confused: aqui vai o código:

void main()

{

    FILE *f;

    int totalunos,numprovas;

    char texto[50],c;

    f=fopen("notas.txt","r");

    if(f==NULL)

        puts("erro no ficheiro");

    else

    {

        while(!feof(f))

        {

            fscanf(f,"%s",&texto);           

            fscanf(f,"%d",&totalunos);

            fscanf(f,"%s",&texto);

            fscanf(f,"%d",&numprovas);

                   

        }

    }

    fclose(f);

}

alguma coisa está mal? também tentei assim:

void main()

{

    FILE *f;

    int totalunos,numprovas;

    char texto[50],c;

    f=fopen("notas.txt","r");

    if(f==NULL)

        puts("erro no ficheiro");

    else

    {

        while(!feof(f))

        {

            fgets(texto,50,f);           

            fscanf(f,"%d",&totalunos);

            fscanf(f,"%s",&texto);

            fscanf(f,"%d",&numprovas);

                   

        }

    }

    fclose(f);

}

Se conseguissem descobrir o que se passa, agradecia :)

cmpts

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

oh.. já consegui , lol  :confused:

while(!feof(f))

        {

            while((c=fgetc(f))!=':');

            fscanf(f,"%d\n",&totalunos);

            while((c=fgetc(f))!=':');

            fscanf(f,"%d\n",&numprovas);

            printf("num alunos: %d\n",totalunos);

            printf("nume provas: %d\n",numprovas);

            system("pause");

           

         

        }

0

Partilhar esta mensagem


Link 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