如何清除字符串流中的内容。? [复制]

Posted

技术标签:

【中文标题】如何清除字符串流中的内容。? [复制]【英文标题】:how to clear the content in the String stream.? [duplicate] 【发布时间】:2011-10-19 20:21:45 【问题描述】:

谁能告诉我如何清除字符串流的内容..? 我尝试了以下方法,但没有成功。

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

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

【问题讨论】:

【参考方案1】:

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

请看这里: How do you clear a stringstream variable?

【讨论】:

【参考方案2】:

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

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

stringstreamObject.str("");

【讨论】:

在 OP 使用的情况下,clear() 用于字符串,而不是流...【参考方案3】:

这样做:

ss.str("");

这会使流为空!

【讨论】:

以上是关于如何清除字符串流中的内容。? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

获取字符串流中的最后一个字符而不复制其整个缓冲区

字符串流有啥意义? [复制]

如何将文件内容读入 istringstream?

memorystream - 字符串流,字符串,其他?

自动替换字符串流中的字符

如何使用 C++ 字符串流附加 int?