Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Archivos binarios en C++ Signos raros...

Estas en el tema de Archivos binarios en C++ Signos raros... en el foro de C/C++ en Foros del Web. Wenas... Estoy realizando un programa que guada unos datos en un fichero binario y despues lo visualiza en pantalla, pero al visualizarlo me salen datos ...
  #1 (permalink)  
Antiguo 11/04/2006, 04:55
 
Fecha de Ingreso: abril-2006
Mensajes: 8
Antigüedad: 18 años, 7 meses
Puntos: 0
Archivos binarios en C++ Signos raros...

Wenas...

Estoy realizando un programa que guada unos datos en un fichero binario y despues lo visualiza en pantalla, pero al visualizarlo me salen datos repetidos y tambien unos signos raros...

leo el archivo con el fread y lo imprimo por pantalla en con el printf...

fichero = fopen("mensajes","r");
while (fread(&mensaje,sizeof(mensaje),1,fichero)!=NULL)
{printf("%s %s %s\n",mensaje.ID_emisor, mensaje.ID_receptor, mensaje.mens);
fflush(stdin);
}fclose(fichero);

y guardo los datos de esta manera..

FILE *fichero;
MENSAJES mensaje;
fichero=fopen("mensajes","ab");
fflush(stdin);
printf("ID del receptor: ");
gets(mensaje.ID_receptor);
fwrite(&mensaje,sizeof(mensaje),1,fichero);
fclose(fichero);

haber si alguien me puede ayudar...
muchas gracias!!!!
  #2 (permalink)  
Antiguo 12/04/2006, 00:12
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 19 años, 4 meses
Puntos: 24
creo que tu problema es que abres el archivo en forma de trexto, y lo guradas en forma binaria. Si lo escribes en forma binaria, pues abrelo de igual forma. Esto te evitara errores.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #3 (permalink)  
Antiguo 12/04/2006, 02:32
 
Fecha de Ingreso: abril-2006
Mensajes: 8
Antigüedad: 18 años, 7 meses
Puntos: 0
Si, tambien lo he probado pero sigue pasando lo mismo.. me salen los datos y ademas en los espacios me salen signos raros...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.