您好,我正在使用 gcc -Wall -std=c99 和 a./out 在 linux 上运行这个 C 程序。我没有收到任何警告/错误。但是当我打印从文件中读取的信息时,我得到了疯狂的输出。该文件包含:
A13
B99
C2
D2
E44
F32
G2
H9
输出是:
id: A
size: 171522370
id: C
size: 876939826
id: 4
size: 843516466
代码是
typedef struct record{
char id;
int size;
}record;
int main ()
{
record reg;
FILE *fp = NULL;
fp = fopen("idSize.txt", "r");
if ((fp = fopen("idSize.txt", "r")) == NULL){
printf("error opening file");
exit(1);
}
fread(®, sizeof(reg),1,fp);
while (!feof(fp)){
printf("id: %c\n", reg.id);
printf("size: %d\n", reg.size);
fread(®, sizeof(reg),1,fp);
}
fclose(fp);
return 0;
}
任何帮助将不胜感激!非常感谢