fread(temp,sizeof(LST),1,fp); 改为 fread(temp,sizeof(LST),10,fp); 那个数值是一次读多少字节,改大点,小了就会认为没结束。。
还有我一般都写while (!feof(fp));
避免生日空值时不错乱直接输出 就给他赋默认值(空格)
因为:你是一个一个赋值的,不会检测后面是否有数据,当前有数据所以会通过while 多执行一次,直接改成while do也不对,需要改成while do ,把fread写在while判断条件,和!feof(fp)并起来即可
那你就不要用DO,用while测试看