C++ stringstream没有';在清除数据后,不接受任何数据
我试图从用户那里读取一个以“()”结尾的数据块,并将其发送到stringstream,对其执行一些操作(为了方便起见,现在让我们说我只想打印这些数据),然后再次接受一个新的数据块,通过输入EOF完成此操作, 这是密码C++ stringstream没有';在清除数据后,不接受任何数据,c++,stringstream,C++,Stringstream,我试图从用户那里读取一个以“()”结尾的数据块,并将其发送到stringstream,对其执行一些操作(为了方便起见,现在让我们说我只想打印这些数据),然后再次接受一个新的数据块,通过输入EOF完成此操作, 这是密码 while(cin >> temp) { if(temp != "()") { strem << temp + " "; } else {
while(cin >> temp)
{
if(temp != "()")
{
strem << temp + " ";
}
else
{
while(strem >> str)
cout << str << " ";
cout << "\n";
strem.str("");
}
}
要查看strem的内容,要总结一下,需要打印第一个块,但之后什么也不打印。知道发生了什么事吗 这样做
while(strem >> str)
几乎可以肯定,流上设置了一个标志。所以,在尝试再次写入流之前,需要清除流状态。
你可以用一个
strem.clear()
这样做
while(strem >> str)
几乎可以肯定,流上设置了一个标志。所以,在尝试再次写入流之前,需要清除流状态。
你可以用一个
strem.clear()
有一个副本的投票率更高,但这一个更清晰、更直截了当。有一个副本的投票率更高,但这一个更清晰、更直截了当。