字节大小不匹配:将结构中的字符数组写入C中的二进制文件

时间:2019-04-08 04:23:12

标签: c struct byte binaryfiles

我具有以下结构:

<input type="hidden">

说我的节点的loc = 0:值= NW:左= 1:右= 2 我将结构编写如下:

typedef struct{
    int32_t loc;
    char value[2];
    int32_t left;
    int32_t right;
} Node;

使用UNIX od命令读取文件后,

//Writing Array of STruct to a Binary File
FILE *fileptr;
fileptr = fopen(filename, "wb");
if (fileptr != NULL) {
fwrite(Node, sizeof(Node),noOfNodes , fileptr);
fclose(fileptr);

我得到以下输出:

od -b xyz

据我了解,给定C中的字符为1个字节长,用于存储结构的字节数应为4 + 2 + 4 + 4 = 14。但是输出有16个字节。我的理解不对吗??

0 个答案:

没有答案