Почему ss >> aa >> bb >> cc >> dd
может использоваться при проверке состояния? Если я использую ss >> aa >> bb >> cc >> dd >> ee
, каково возвращаемое значение этой операции?Использование возвращаемого значения оператора извлечения в состоянии?
ifstream inputFile("source.txt", ifstream::in);
string aa, bb, cc, dd;
char line[1024];
while(!inputFile.eof())
{
inputFile.getline(line, 1023);
stringstream ss(stringstream::in | stringstream::out);
ss.str(line);
if(ss >> aa >> bb >> cc >> dd)
{
cout << aa << "-" << bb << "-" << cc << "-" << dd << endl;
}
}
С source.txt как это:
1aaa ddd eee asd
2dfs dfsf sdfs fd
3sdf sdfsdfsdf d s
Обратите внимание, что вы используете результаты 'inputFile.getline' без проверки, удалось ли это или нет. –