c - 如何使用fwrite写入数据0xf0f0f0f0

标签 c binary fwrite

我需要使用 fwrite 将分隔符 = 0xf0f0f0f0 写入二进制文件。在 UNIX 上以 xxd 查看时,需要以 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 开始。

关于c - 如何使用fwrite写入数据0xf0f0f0f0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689864/

相关文章:

使用 sprintf()/write() 的 C 程序有多余字符

c - 将数字编码为日期时间

结合 C 和汇编代码

c - rpmsg-lite 协议(protocol)的 Linux 用户空间示例

python - 在Python中查找不等于不需要的字节的前一个字节

c - 了解二进制炸弹第二阶段的汇编代码

c - 为什么要为一个 POSIX 函数包含多个 header ?

c++ - 如何在C++中将二进制文件转换为WAV文件

c - 关于文件 I/O(读/写消息字符串)的很多问题

c++ - 写入超过内核允许一次打开的文件的最佳方法是什么?