不管什么情况,我觉得你首先该把if那行的分号给删了你的本意是在if判断成功的条件下才做while,现在这个分号使得你的if无论判断成功与否,都会执行while,于是我很怀疑你出错的时候fopen是否真的成功了