#include<stdio.h>
int main(int argc, char **argv){
FILE *fp = NULL;
fp = fopen("D://test.txt","wb");
if(fp == NULL){
printf("Error opening file\n");
}
typedef struct{
int a;
char b;
}A;
A x = {12, 'a'}, y = {13, 'b'},z;
fwrite(&x, sizeof(A), 1, fp);
fwrite(&y, sizeof(A), 1, fp);
fseek(fp, sizeof(A), SEEK_SET);
fread(&z, sizeof(A), 1, fp);
printf("%d %c\n", z.a, z.b);
return 0;
}
我打算将 2 个结构写入文件。然后我需要将文件指针定位到文件中第二个结构的开头,然后从那里执行 fread 以将第二个结构读入 z。这些值未正确读入 z。我没有找到问题所在。