feof y fscanf
Publicado por vetus (6 intervenciones) el 06/03/2006 20:20:26
Tengo lo siguiente:
FILE* fichEntrada;
char palabra[50];
// Abrimos fichero de entrada para lectura
fichEntrada = fopen ("entrada.txt","r");
if (fichEntrada==NULL){
printf("Cliente: Error al abrir el fichero de entrada\n");
exit(1);
}
while (!feof(fichEntrada)){
fscanf(fichEntrada,"%s",palabra);
printf("%s\n",palabra);
}
La idea es que en el fichero entrada.txt tengo palabras (una palabra por linea) y quiero obtener todas las palabras. El problema con ese código es que la última palabra del fichero me la escribe 2 veces y todavia no entiendo la razón. Alguna idea? (No uso fgets porque no quiero que me coja el salto de linea del final, quiero la palabra tal cual)
Graciasss
FILE* fichEntrada;
char palabra[50];
// Abrimos fichero de entrada para lectura
fichEntrada = fopen ("entrada.txt","r");
if (fichEntrada==NULL){
printf("Cliente: Error al abrir el fichero de entrada\n");
exit(1);
}
while (!feof(fichEntrada)){
fscanf(fichEntrada,"%s",palabra);
printf("%s\n",palabra);
}
La idea es que en el fichero entrada.txt tengo palabras (una palabra por linea) y quiero obtener todas las palabras. El problema con ese código es que la última palabra del fichero me la escribe 2 veces y todavia no entiendo la razón. Alguna idea? (No uso fgets porque no quiero que me coja el salto de linea del final, quiero la palabra tal cual)
Graciasss
Valora esta pregunta


0