如何清除String流中的内容。

时间:2011-08-04 10:02:08

标签: c++ string stream inputstream stringstream

任何人都可以告诉我如何清除stringstream的内容..? 我尝试了以下但它没有用。

stringstream ss;
ss<<"bala"<<"murugan";
cout<<ss.str();         //Output balamurugan
ss.str().clear();
ss<<" hi";
cout<<ss.str();
// output is balamurugan hi 

我所需的输出单独是“hi”.. 请告诉我

3 个答案:

答案 0 :(得分:11)

您正在做的是清除字符串流中返回的字符串,而不是内部字符串。您必须实际执行ss.str("")

见这里: How do you clear a stringstream variable?

答案 1 :(得分:4)

“clear()”成员函数继承自ios,用于清除流的错误状态。

要清除字符串流的内容,请使用:

stringstreamObject.str("");

答案 2 :(得分:2)

这样做:

ss.str("");

这使得流空了!