将一个字节写入C中的文件

Write a byte to a file in C

我有一个声明为 unsigned int 0b11010101我如何将其作为 1 个字节写入二进制文件?我知道 fwrite 将类型 const void * 作为缓冲区,但如果它表示为无符号整数,我不知道如何写入我的字节。

也许像这样,你最好不要写int的一个字节,因为字节顺序。先转换为unsigned char

unsigned int intval = 0b11010101;       // assuming compiler likes it
unsigned char charval = intval;
fwrite (&charval, 1, 1, stream);

您可以使用 fputc().

将单个字节写入文件

示例:

unsigned int val = 0b11010101;
fputc(val, stream);

测试使用:

~ $ cc -Wall -o test test.c
~ $ ./test | xxd
00000000: d5                                       .