我正在尝试读取10字节的二进制文件的标头。标题结构如下:
x - 4个字节
y - 4个字节
z - 2个字节
我正在尝试使用以下代码读取该文件。它适用于x& y,但不是z。我知道问题是我为所有3个数据点读取了4个字节,但z只有2个字节。我怎么能以不同的方式阅读z?
FILE *fileToRead = fopen("test.bin","rb");
uint32_t dataPoint;
int a = 0;
int x,y,z;
while(fread(&dataPoint,sizeof(dataPoint),1,fileToRead)==1){
if(a == 0) {
x = dataPoint;
} else if(a == 1) {
y = dataPoint;
} else {
z = dataPoint;
}
a++;
}
fclose(fileToRead);