Вожусь не могу понять как работает stringstream. Вот кусок кода:
while (linenum < svec.size()) {
line = svec[linenum];
if (!line.compare(0,5,"VALUE")) {
ss.str(line);
ss.seekg(0);
cout << "ss position is: " << ss.tellg() << endl;
cout << "ss.str() is: " << ss.str() << endl << endl;
ss >> lkeyword;
ss >> lkey;
ss >> flags;
ss >> size;
linenum++;
line = svec[linenum];
lvalue = line.substr(0,size);
cout << " lkeyword is: " << lkeyword << endl;
cout << " lkey is: " << lkey << endl;
cout << " flags is: " << flags << endl;
cout << " size is: " << size << endl;
cout << " lvalue is: " << lvalue << endl << endl;
lkeyword=""; lkey=""; flags=-1; size=-1; lvalue="";
}
linenum++;
}
Проблема в том что на второй итерации цикла считывание уже «не работает», т.е. ss >> variable уже не помещает значение в variable.
в даном случае vector<string> svec ; string line;