将一个字节写入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 .
我有一个声明为 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 .