Я использую вложенное while l oop для синтаксического анализа текстового файла с несколькими строками, но по какой-то причине он проходит только через первую строку, и я не знаю почему.
string file;
string line;
cout << "Whats the file name?" << endl;
cin >> file;
string inputStr;
string buf; // Have a buffer string
stringstream s; // create the string stream
int field = 0;
string input; //string for the input (i.e. name, ID, etc.)
ifstream InFile(file.c_str());
if (InFile.is_open()) {
cout << "File found" << endl;
while (getline(InFile, line)) {
cout << line << endl;
inputStr = line;
s << inputStr; //put the line into the stream
while (getline(s, input, ' ')) { //gets a string from the stream up the next comma
field++;
cout << " field" << field << " is " << input << endl;
}
cout << "DONE" << endl;
}