![]() |
Leitura de ficheiros em C - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Leitura de ficheiros em C (/showthread.php?tid=11396) |
Leitura de ficheiros em C - jrps - 23-04-2012 19:11 Boa tarde, tenho de fazer um trabalho em c que tem de ler valores de um ficheiro. Não sei como contar as linhas do ficheiro e ler de lá os valores. O que tenho é: /* abertura com validação do ficheiro */ if ((ptfich = fopen (argv[1], "r")) == NULL) { fprintf (stderr, "O ficheiro %s não existe\n", argv[1]); fclose (ptfich); /* fecho do ficheiro */ return; } /*leitura da dimensao do ficheiro*/ while(fscanf (ptfich, "%d", &i) != EOF) nelem++; /* criação da sequência */ if ((sequencia = (int *) calloc (nelem, sizeof (int))) == NULL) { fprintf (stderr, "A sequência não foi criada por falta de memória\n"); return; } /* leitura dos valores do ficheiro para a sequência */ for (i = 0; i < nelem; i++) fscanf (ptfich, "%d", &sequencia[i]); fclose (ptfich); /* fecho do ficheiro */ mas os valores que ficam na sequencia são so 0's. RE: Leitura de ficheiros em C - Corvus - 24-04-2012 19:06 Dicas: 1) Usa a tag code para o teu código ficar melhor formatado no post 2) Para leres o ficheiro uma linha de cada vez usa o fgets() em vez do fscanf() 3) Não sei se tens um valor por linha ou vários valores em cada linha. No caso de teres vários podes usar strtok() para "quebrar" a linha nos vários valores HTH |