C读取不同的字节大小数据二进制文件

时间:2017-04-12 01:11:49

标签: c binaryfiles fread

我正在尝试读取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);

0 个答案:

没有答案