1

好吧,我正在使用 while 循环:

而(fgets(pclientRow,1024,f)!= NULL)

在其他类中它工作正常,但在其中一个类中,当我逐行读取文件时,即使行结束它也不会退出循环,我在调试器中看到了这一点。

为什么?以前它甚至在那堂课上也能工作,现在我不知道为什么它一直带空行,直到它崩溃..

任何想法?

4

2 回答 2

3

fgets 在标准 ANSI C 函数中,请参阅文档:此处 fgets 读取最大值。到下一个 '\n' 或 EOF 为止的 1023 个字符。您的行长于 1023 个字符或最后一行没有终止换行符。

于 2010-11-30T22:13:02.617 回答
0

您可以通过在 while 循环中放置类似的内容来捕获 \n 问题。

if((int)strlen(pclientRow) == 1) 中断;

于 2012-12-21T04:14:03.270 回答