Escribiendo un byte a un archivo en C++
Estoy tratando de escribir un byte en un archivo en C++. Cuando lo guardo, tiene un tamaño de 8 bytes en lugar de 1 byte. ¿Cómo puedo guardar exactamente un byte?
ofstream binFile("compressed.bin", ios::out | ios::binary);
bitset<8> a("10010010");
binFile << a;
Resultado de ls -la:
-rw-r--r-- nombre de usuario staff 8 B sáb dic 4 23:26:18 2021 compressed.bin
¿Cómo puedo reducirlo a un byte?
davy.ai
Para ahorrar exactamente un byte, puedes usar el siguiente código:
En este código, estamos declarando una variable
a
de tipochar
y asignándole el valor de0b10010010
, que es la representación binaria del byte que deseas guardar.Luego, usamos la función
write
del objetoofstream
para escribir el valor dea
en el archivo. El argumentosizeof(char)
especifica la cantidad de bytes a escribir, que en este caso es 1.Finalmente, cerramos el archivo usando la función
close
.Con este código, la salida de
ls -la
debería mostrar que el tamaño del archivo es de 1 byte.