夜行録 - 酔歩.net

Calendar

< November 2008 >
MonTueWedThuFriSatSun
12
3456789
10111213141516
17181920212223
24252627282930

Tuesday, 18.11.08

eof() bug?

OSX で某コンパイラでコンパイルしたコード、 std::cin.eof() で判定しながらストリームから読み続けるだけのコードなのに、8257行目で勝手に eof と判断してループを抜ける。
・・・いやいや、200万行くらいあるファイルなんですが

8257 = 128*64 + 65 で、よく判らないけどビミョー。 printf debug しかけると、カウンタが1行多く回ってる気がする。まさか1回読んでみて、実はそれがeofだった後でしか true にならないのか?
一旦 strstream にでもしろってのか・・・

ちなみに、 g++ だとちゃんと最後までいく。その後が遅いけど・・・・・
いったい何の bug なのやら