Как я могу просто прочитать первый новый "токен" (стандартная последовательность непробельных символов, прекрасно извлеченная оператором >>), не удаляя его из потока? Могу ли я извлечь строку, проверить, нужно ли ее вернуть, и сбросить итератор внутреннего потока? Я думаю, что это может сработать, но понятия не имею, как это реализовать ...
Пример:
#include <string>
using std::string;
#include <sstream>
using std::stringstream;
int main()
{
string s("test string \\ bla blie");
stringstream ss(s);
string token;
while( ss >> token )
{
if( "\\" == token )
break;
else
cout << "Token is: " << token << "\n";
}
return 0;
}
Будут ли tellg
и seekg
работать здесь до и условно после извлечения потока?
Спасибо!