如何使用fwrite写入数据0xf0f0f0f0

mat*_*cks 2 c binary fwrite

我需要使用fwrite将分隔符= 0xf0f0f0f0写入二进制文件.它需要以在UNIX上的xxd中查看时0xf0f0f0f0出现在文件开头的方式完成.我现在这样做,

  unsigned int delim[1];
  delim[1] = 0xf0f0f0f0;
  fwrite(delim, 4, 1, destination);
Run Code Online (Sandbox Code Playgroud)

但它显然无法正常工作,因为xxd在文件的开头显示:

  0000000: 90c9 49ac
Run Code Online (Sandbox Code Playgroud)

Bas*_*tch 10

可能应该是

 unsigned int delimnum = 0xf0f0f0f0;
 fwrite(&delimnum, sizeof(delimnum), 1, destination);
Run Code Online (Sandbox Code Playgroud)

或者至少使用,delim[0]因为数组索引从0开始.


Ale*_*lds 5

这个:

unsigned int delim[1];
Run Code Online (Sandbox Code Playgroud)

是一个包含一个元素的数组.

这个:

delim[1] = 0xf0f0f0f0;
Run Code Online (Sandbox Code Playgroud)

指的是单元素数组中的第二个元素,它不是正确的代码.

如果要在单元素数组中放置某些内容,请更改delim[1]delim[0].