我需要使用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开始.
这个:
unsigned int delim[1];
Run Code Online (Sandbox Code Playgroud)
是一个包含一个元素的数组.
这个:
delim[1] = 0xf0f0f0f0;
Run Code Online (Sandbox Code Playgroud)
指的是单元素数组中的第二个元素,它不是正确的代码.
如果要在单元素数组中放置某些内容,请更改delim[1]为delim[0].