我有一个声明为unsigned int 0b11010101
的字节如何将其作为1字节写入二进制文件?我知道fwrite将类型const void *
作为缓冲区,但如果它表示为unsigned int,我不知道如何编写我的字节。
答案 0 :(得分:3)
也许这样,你最好不要因为字节序而写int
的一个字节。首先转换为unsigned char
。
unsigned int intval = 0b11010101; // assuming compiler likes it
unsigned char charval = intval;
fwrite (&charval, 1, 1, stream);
答案 1 :(得分:0)
您可以使用 fputc() 将单个字节写入文件。
示例:
~ $ cc -Wall -o test test.c
~ $ ./test | xxd
00000000: d5 .
测试使用:
UCS-2