Malditos ficheros...
Publicado por BluSky (11 intervenciones) el 20/08/2003 21:26:21
He trabajado con ficheros un montón de veces pero ahora me surge un problema que no veo dónde puede estar. Os comento:
Genero a partir de un fichero de texto, otro binario basado en una estructura. El código es éste:
void copiar(struct elemento *v,int pos)
{
int i;
i = 0;
FILE *fsal;
fsal = fopen("salida.bin","w");
while (i < pos){
fwrite(&v[i],sizeof(struct elemento),1,fsal);
i++;
}
fclose(fsal);
}
He comprobado con "printf" que los datos que guarda son (aparentemente correctos. También, si lo miro con el bloc de notas, parece que está todo guardado. Pero he hecho un programilla que lo lea y me muestra sólo el primero...ahí va el código:
void leer()
{
int i;
FILE *fp;
struct elemento e;
printf ("Fichero de salida\n");
fp=fopen("salida.bin","r");
while (!feof(fp)) {
fread(&e, sizeof (struct elemento), 1, fp);
puts (e.nombre);
}
fclose(fp);
}
¿Observais algun error?
Saludos
Sebas
Genero a partir de un fichero de texto, otro binario basado en una estructura. El código es éste:
void copiar(struct elemento *v,int pos)
{
int i;
i = 0;
FILE *fsal;
fsal = fopen("salida.bin","w");
while (i < pos){
fwrite(&v[i],sizeof(struct elemento),1,fsal);
i++;
}
fclose(fsal);
}
He comprobado con "printf" que los datos que guarda son (aparentemente correctos. También, si lo miro con el bloc de notas, parece que está todo guardado. Pero he hecho un programilla que lo lea y me muestra sólo el primero...ahí va el código:
void leer()
{
int i;
FILE *fp;
struct elemento e;
printf ("Fichero de salida\n");
fp=fopen("salida.bin","r");
while (!feof(fp)) {
fread(&e, sizeof (struct elemento), 1, fp);
puts (e.nombre);
}
fclose(fp);
}
¿Observais algun error?
Saludos
Sebas
Valora esta pregunta


0