如何使用fwrite写入数据0xf0f0f0f0

时间:2011-12-31 18:34:26

标签: c binary fwrite

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

  unsigned int delim[1];
  delim[1] = 0xf0f0f0f0;
  fwrite(delim, 4, 1, destination);

但是由于xxd在文件的开头显示了这一点,显然无法正常工作:

  0000000: 90c9 49ac

2 个答案:

答案 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]