Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: snowspring en 20 Diciembre 2018, 11:30 am



Título: escribir en un fichero binario
Publicado por: snowspring en 20 Diciembre 2018, 11:30 am
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
Código
  1. sprintf(buffer, "0");
  2. 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
Código
  1. int archivo, tam_fich=40;
  2. char * buffer2;
  3.  
  4. archivo=open("prueba.bin", O_RDWR | O_CREAT, 0777 );
  5. if(archivo == -1){
  6. perror("Abrir fichero");
  7. exit(1);
  8. }
  9. buffer2=mmap (0, tam_fich , PROT_READ | PROT_WRITE , MAP_SHARED, archivo , 0);
  10.  
  11. if(buffer2==MAP_FAILED){
  12. perror("MEMORIA");
  13. exit(1);
  14. }
  15.  
  16. /*aqui iria el codigo para guardar 10 ceros en formato binario*/


Título: Re: escribir en un fichero binario
Publicado por: MAFUS en 20 Diciembre 2018, 11:50 am
prueba con memset.