夜行録 - 酔歩.net

日暮れて道遠し さらに夜道を行く もって夜行録と名付く

eof() bug?

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

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

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

2008年11月18日 (Tue) - 22:26:00 - その他雑記 - 3246x - permalink
Karma points: 1. Do you like this article? [yes/no]