0
Can anyone tell me why this my code just returns the first record several times, instead of returns all the records?
Function in the Code
void listarDados(int quantidadeContatos) {
char caracteres;
FILE *arquivo = fopen("contato.txt", "rb");
struct contato *vPtrContato = &contato_ref;
if (arquivo == NULL) {
printf("Erro, nao foi possivel abrir o arquivo\n");
} else {
while (!feof(arquivo)) {
rewind(arquivo);
fread(vPtrContato, sizeof (contato_ref), 1, arquivo);
printf("Nome: %s\n", contato_ref.primeiroNome);
printf("Sobrenome: %s\n", contato_ref.segundoNome);
printf("Telefone: %s\n", contato_ref.numeroTelefone);
printf("E-mail: %s\n", contato_ref.email);
printf("==================================\n");
fclose(arquivo);
}
}
}
I took the Rewind and still returns only the first record. Only repeatedly.
– Laura Regina
Had not seen, you close the file inside while, delete the fclose() line and see.
– Leonardo Minari