私はC++でいくつかのファイル読み取り戦略を試していましたが、これに出くわしました。
ifstream ifsw1("c:\\trys\\str3.txt");
char ifsw1w[3];
do {
ifsw1 >> ifsw1w;
if (ifsw1.eof())
break;
cout << ifsw1w << flush << endl;
} while (1);
ifsw1.close();
ファイルの内容は
ファーストファーストファーストセカンド セカンドファーストセカンドセカンド
出力を見ると、次のように出力されます。
ファーストファースト ファーストセカンド セカンドファースト
出力は次のようになると思いました。
モミ stf irs tfi ....。
また、「secondsecond」が印刷されていないことがわかります。最後の読み取りがeofに達し、coutが実行されなかった可能性があると思います。しかし、最初の振る舞いは理解できません。