夜行録 - 酔歩.net
Calendar
Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
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 なのやら