我需要使用fwrite将分隔符= 0xf0f0f0f0写入二进制文件。它需要以在UNIX上的xxd中查看时0xf0f0f0f0出现在文件开头的方式完成。我目前正在这样做,
unsigned int delim[1];
delim[1] = 0xf0f0f0f0;
fwrite(delim, 4, 1, destination);
但是由于xxd在文件的开头显示了这一点,显然无法正常工作:
0000000: 90c9 49ac
答案 0 :(得分:10)
可能应该是
unsigned int delimnum = 0xf0f0f0f0;
fwrite(&delimnum, sizeof(delimnum), 1, destination);
或者至少使用delim[0]
,因为数组索引从0开始。
答案 1 :(得分:5)
此:
unsigned int delim[1];
是一个包含一个元素的数组。
此:
delim[1] = 0xf0f0f0f0;
指单元素数组中的第二个元素,它不是正确的代码。
如果您想在单元素数组中添加内容,请将delim[1]
更改为delim[0]
。