我有以下示例 C 代码可在 Linux 操作系统上写入int
和写入char array
文件。
int main(void){
struct eg{
int x;
char y[3];
};
struct eg example_array[5] = {{ 0, {0}}};
int i;
for(i=0;i<3;i++){
example_array[i].x = i;
strcpy(example_array[i].y,"12");
}
FILE *fp;
fp = fopen("/home/ubuntu/example", "wb");
fwrite(&example_array, sizeof(struct eg), 5, fp);
fclose(fp);
return 0;
}
nano example
将内容显示为^@^@^@^@12^@^@^A^@^@^@12^@^@^B^@^@^@12^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
hexedit example
显示为
00000000 00 00 00 00 31 32 00 00 01 00 00 00 31 32 00 00 02 00 00 00 31 32 00 00 00 00 00 00 ....12......12......12......
0000001C 00 00 00 00 00 00 00 00 00 00 00 00 ............
我没有看到example_array[i].x
二进制文件上的值。谁能告诉我应该如何使用fwrite
上面的代码?
做什么^@^@^@^@^@
和......
代表什么?它们是空格吗?