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

Crear archivo binario

Estas en el tema de Crear archivo binario en el foro de C/C++ en Foros del Web. [...] fwrite(StringSalida,"%i\n%i\n%i\n",Min,Max,Tot); fputs(StringSalida,FileOut); fclose(FileOut); [...] El caso es que quiero que saque lo mismo pero en vez de texto normal, sea binario. Se la estructura ...
  #1 (permalink)  
Antiguo 17/01/2012, 11:37
 
Fecha de Ingreso: enero-2012
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 0
Crear archivo binario

[...]

fwrite(StringSalida,"%i\n%i\n%i\n",Min,Max,Tot);
fputs(StringSalida,FileOut);
fclose(FileOut);

[...]

El caso es que quiero que saque lo mismo pero en vez de texto normal, sea binario. Se la estructura de fwrite pero siempre me da error al compilar
  #2 (permalink)  
Antiguo 17/01/2012, 12:24
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: Crear archivo binario

Hola! en C ese prototipo de fwrite esta mal!, mira aca http://c.conclase.net/librerias/index.php?ansifun=fwrite#inicio ... Y para abrir un archivo en modo binario solo le agregas la "b" al modo de apertura. Ejemplo:
Código C:
Ver original
  1. fp = fopen("path","w+b");
  #3 (permalink)  
Antiguo 17/01/2012, 12:34
 
Fecha de Ingreso: enero-2012
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Crear archivo binario

^^ Cagada mia, que lo he puesto mal.

Cita:
[...]

fprintf(StringSalida,"%i\n%i\n%i\n",Min,Max,Tot);
fputs(StringSalida,FileOut);
fclose(FileOut);

[...]
Ahora bien, se la estructura del fwrite pero no se aplicarla a este ejemplo, ya que tiene mas variables.

Siento la confusion,
  #4 (permalink)  
Antiguo 17/01/2012, 12:56
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: Crear archivo binario

xD! igual creo que sigue estan mal el fprintf :) el primero argumento deberia ser un puntero a FILE y por lo q entiendo d tu codigo FileOut es tu puntero a FILE y no StringSalida.
Generalmente (en mi caso personal) yo uso fwrite cuando tengo que guardar bloques de datos (por ejemplo una estructura, listas, etc) y no variables. La unica forma que se me ocurre para guardar Min Max Tot con fwrite es escribiendo:
Código C:
Ver original
  1. fwrite(&Min,sizeof(Min),1,FileOut);
y repetir con MAx y Tot

No entiendo bien cual es tu problema :S no se si t estoy ayudando o confundiendote, explica un poco mejor

Saludos
  #5 (permalink)  
Antiguo 17/01/2012, 13:02
 
Fecha de Ingreso: enero-2012
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Crear archivo binario

Ya funciona

El fprintf funciona perfectamente ya que esta comprobado. El caso es que ahora probare.
Por cierto, si pongo eso me saltara de linea entre, variable y variable, no?.

Pero aun asi lo de guardar variables no es una decision propia sino una obligacion.

Última edición por joancat; 17/01/2012 a las 13:52
  #6 (permalink)  
Antiguo 17/01/2012, 19:39
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Crear archivo binario

Si estas usando archivos binarios, da nada sirve saber si salta de linea o no. Teoricamente los archivos binarios no son interpretados por un lector de textos.

Lo que no entiendo porque formateas la salida si es para un archivo binario?? Lo logico seria hacer como dijo cesar_casla. No haces falta graber informacion extra si no tiene que ser interpretada por un programa externo.

Saludos

Etiquetas: binario, string
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 19:03.