我的教授告诉我在读/写二进制文件时不要使用 sizeof(double)。现在,他告诉我原因,但我忘记了。例如:
double grade;
fread(grade, sizeof(double), 1, fp) != 1
但是,相反:
fread(grade, 4, 1, fp) != 1
现在,诀窍是double可能是4或8个字节,那么在这种情况下做什么呢?
答案 0 :(得分:2)
最好使用sizeof(grade)
,因为如果更改变量类型,此行仍可正常工作。也许他会这么说?
fread(&grade, sizeof(grade), 1, fp)
但我认为没有理由直接写这个值,因为它可能不适用于另一个系统。