C 如何使用fwrite写入数据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;

我需要使用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;
 fwrite(&delimnum, sizeof(delimnum), 1, destination);
或者至少使用delim[0],因为数组索引从0开始。

这:

unsigned int delim[1];
是包含一个元素的数组

这:

引用单个元素数组中的第二个元素,该元素不是正确的代码


如果您想在单元素数组中放入某些内容,请将
delim[1]
更改为
delim[0]

您确实应该学会使用所有警告进行编译和调试(例如
gcc-Wall-g
)以及使用调试器(即
gdb
)。
delim[1] = 0xf0f0f0f0;