如何使用相同的stringstream
對象標記兩個不同的字符串?如何使用相同的stringstream對象標記兩個不同的字符串?
我嘗試下面的代碼,但它不工作:
using namespace std;
void check()
{
stringstream s("This is a test");
string token;
while (s>>token)
{
cout<< token <<'\n';
}
s.str("hello world");
while (s>> token)
{
cout<< token <<'\n';
}
}
int main()
{
check();
int z;
cin>>z;
}
當您在第一個while循環中用'>>'到達流的末尾時,會設置eof位。這就是爲什麼你需要調用clear()來重置流,如答案中所示。 – 2013-03-13 03:36:53