C 如何使用fwrite写入数据0xF0
我需要使用fwrite将分隔符=0xF0写入二进制文件。在UNIX上,在xxd中查看时,需要确保0xF0显示在文件的开头。我现在是这样做的C 如何使用fwrite写入数据0xF0,c,binary,fwrite,C,Binary,Fwrite,我需要使用fwrite将分隔符=0xF0写入二进制文件。在UNIX上,在xxd中查看时,需要确保0xF0显示在文件的开头。我现在是这样做的 unsigned int delim[1]; delim[1] = 0xf0f0f0f0; fwrite(delim, 4, 1, destination); 但它显然不起作用,因为xxd在文件开头显示了这一点: 0000000: 90c9 49ac 也许应该是 unsigned int delimnum = 0xf0f0f0f0;
unsigned int delim[1];
delim[1] = 0xf0f0f0f0;
fwrite(delim, 4, 1, destination);
但它显然不起作用,因为xxd在文件开头显示了这一点:
0000000: 90c9 49ac
也许应该是
unsigned int delimnum = 0xf0f0f0f0;
fwrite(&delimnum, sizeof(delimnum), 1, destination);
或者至少使用delim[0],因为数组索引从0开始。这:
unsigned int delim[1];
是包含一个元素的数组
这:
引用单个元素数组中的第二个元素,该元素不是正确的代码
如果您想在单元素数组中放入某些内容,请将
delim[1]
更改为delim[0]
。您确实应该学会使用所有警告进行编译和调试(例如gcc-Wall-g
)以及使用调试器(即gdb
)。
delim[1] = 0xf0f0f0f0;