escribir en un fichero binario

Iniciado por snowspring, 20 Diciembre 2018, 11:30 AM

0 Miembros y 1 Visitante están viendo este tema.

snowspring

Hola, buenas, estaba haciendo un pequeño programa en el que una parte consiste en crear un fichero "prueba.bin", proyectarlo en memoria y luego inicializarlo a cero para luego ya meterle los valores que vamos a usar. El problema es que para inicializarlo, no se como meter los 0 en formato binario, lo habia hecho con

sprintf(buffer, "0");
write(archivo, buffer, strlen(buffer));


pero despues me di cuenta de que asi estaba mal, ya que si no me equivoco se guarda en buffer como string.

aqui os dejo el resto del codigo tambien, muchas gracias

int archivo, tam_fich=40;
char * buffer2;

archivo=open("prueba.bin", O_RDWR | O_CREAT, 0777 );
if(archivo == -1){
perror("Abrir fichero");
exit(1);
}
buffer2=mmap (0, tam_fich , PROT_READ | PROT_WRITE , MAP_SHARED, archivo , 0);

if(buffer2==MAP_FAILED){
perror("MEMORIA");
exit(1);
}

/*aqui iria el codigo para guardar 10 ceros en formato binario*/

MAFUS