我正在尝试使用C编程将二进制数据写入.bin文件,然后迭代编写从0000到FFFF.我想我会使用带有'wb'标签的fopen,然后能够写二进制数据,但我不确定如何使用C从0000迭代到FFFF.感谢任何帮助.
这是我现在的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *f = fopen("binary.bin", "wb");
unsigned long i;
//if(f == NULL) { ...error handling... }
for(i = 0x0000; i <= 0xFFFF; i++){
// Write something to the file, e.g. the 16-bit (2 byte) value of "i"
unsigned short someData = i;
fwrite(&someData, 1, 2, f);
}
fclose(f);
return 0;
//printf("Hello World\n");
getchar();
}
Run Code Online (Sandbox Code Playgroud)
这将输出00 00 01 00 02 00 ...
这是我现在的问题.这不应该读出00 00 00 01 00 02 ......开头不应该有额外的'00'吗?
此外,我一直在试图看看如何复制它并扩展它因此使它0000 0000 0001 0001等?[更新:我刚刚复制了fwrite行并再次执行了它解决了这个问题]