Я пробовал несколько стратегий чтения файлов на 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();
Содержимое файла было
firstfirst firstsecond secondfirst secondsecond
Когда я вижу результат, он напечатан как
firstfirst firstsecond secondfirst
Я ожидал, что вывод должен выглядеть примерно так:
fir stf irs tfi .....
Более того, я вижу, что «секунда» не была напечатана. Я предполагаю, что последнее чтение встретило eof и cout, возможно, не был выполнен. Но первое поведение непонятно.