1

よく私はwhileループを使用しています:

while(fgets(pclientRow、1024、f)!= NULL)

他のクラスでは問題なく動作しますが、そのうちの1つでは、ファイルから1行ずつ読み取っているときに、行が終了してもループから抜け出せません。デバッガーでそれを確認しました。

それはなぜです?以前はそのクラスでも機能していましたが、今では、それが壊れるまで空の行を表示し続ける理由がわかりません。

何か案が?

4

2 に答える 2

3

標準のANSIC関数のfgets。ドキュメントを参照してください。ここで、fgetsは最大値を読み取ります。次の'\n'またはEOFまでの1023文字。行が1023文字より長いか、最後の行に終了改行がありません。

于 2010-11-30T22:13:02.617 に答える
0

このようなものをwhileループに配置することで、\n問題を見つけることができます。

if((int)strlen(pclientRow)== 1)break;

于 2012-12-21T04:14:03.270 に答える