Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Leitura de ficheiros em C
23-04-2012, 19:11
Mensagem: #1
Leitura de ficheiros em C
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.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
24-04-2012, 19:06
Mensagem: #2
RE: Leitura de ficheiros em C
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

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)