【发布时间】:2010-11-30 22:04:00
【问题描述】:
我正在使用 while 循环:
while(fgets(pclientRow, 1024 , f) != NULL)
在其他课程中它工作正常,但在其中一个课程中,当我阅读时 逐行文件,即使行结束也不会退出循环,我在调试器中看到了。
为什么?它甚至在那个班级之前也有效,现在我不知道为什么它会一直带来 空行直到它崩溃..
有什么想法吗?
【问题讨论】:
-
发布一些代码。另请注意,C 没有类。
-
feof(f)、ferror(f)和errno(Unix) /GetLastError()(Windows) 的值是什么? ? -
了解正在读取的文件有多大(以字节和行为单位)以及当它“崩溃”时究竟会发生什么也会很有用。
-
抱歉 fgets 没有崩溃,它再次进入循环,因为 fgets 没有返回 null,然后它就崩溃了..
-
@Zack: fgets() 是一个标准库函数,所以即使在 Windows 中它也会设置 errno。
标签: c crash new-operator line fgets