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

¿Crear archivo binario en #C para exportar datos?

Estas en el tema de ¿Crear archivo binario en #C para exportar datos? en el foro de C/C++ en Foros del Web. Buenos dias, hice esta funcion que recibe todos los parametros de un juego y me los guarda en un archivo para poder seguir la partida ...
  #1 (permalink)  
Antiguo 19/10/2011, 18:07
 
Fecha de Ingreso: enero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
¿Crear archivo binario en #C para exportar datos?

Buenos dias, hice esta funcion que recibe todos los parametros de un juego y me los guarda en un archivo para poder seguir la partida en otro instante, pero el resultado no me convence jajaja

Código:
void
GuardaUnJugador(char * archivo,int modo,int filas, int columnas,TipoDados *dado)
{
int i,j;
FILE *fp;
fp=fopen(archivo,"wb");
if (fp==NULL)
{
printf("Error al abrir el archivo \n");
return 1;
}

fprintf(fp, "%d%d%d",modo,filas,columnas);

for(i=0;i<5;i++)
{
fprintf(fp, "%d",dado[i].pos.x);
fprintf(fp, "%d",dado[i].pos.y);
for(j=0;j<6;j++)
{
fprintf(fp, "%d",dado[i].cara[j]);
}

}

fclose(fp);
return 0;
}
Cuando la invoco me crea el archivo que tiene el siguiente contenido:
15555463102151530246111333234310040124…

Ahora, como se ve en el fopen estoy buscando escribir un archivo binario (que lo debe expresar como hexagesimal al abrirlo supongo), pero me parece raro que no me muestre ninguna letra en el contenido del archivo.

Estoy haciendo algo mal?
  #2 (permalink)  
Antiguo 19/10/2011, 19:45
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: ¿Crear archivo binario en #C para exportar datos?

Al usar fprintf estas convirtiendo todo a caracteres y como son numero los ves bien....
Para mantener el binario proba usando el fwrite. Saludos
  #3 (permalink)  
Antiguo 21/10/2011, 15:25
 
Fecha de Ingreso: enero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: ¿Crear archivo binario en #C para exportar datos?

Exelente, era eso, muchas gracias!

Etiquetas: binario, funcion
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 15:05.