将字节写入C中的文件

时间:2015-11-25 17:02:19

标签: c byte fwrite fread unsigned-integer

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

2 个答案:

答案 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