如何清除 ostringstream
ostringstream s;
s << "123";
cout << s.str().c_str() << endl;
// how to clear ostringstream here?
s << "456";
cout << s.str().c_str() << endl;
输出是:
123 123456
我需要:
123 456
如何重置 ostringstream 以获得所需的输出?
ostringstream s;
s << "123";
cout << s.str().c_str() << endl;
// how to clear ostringstream here?
s << "456";
cout << s.str().c_str() << endl;
Output is:
123 123456
I need:
123 456
How can I reset ostringstream to get desired output?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
第一行需要将字符串重置为空;第二行需要清除可能设置的任何错误标志。如果您知道没有设置错误标志或者您不关心重置它们,那么您不需要调用
clear()
。通常,使用新的 std::ostringstream 对象而不是重用现有对象会更容易、更干净、更直接(直接?),除非代码用于已知的性能热点。
The first line is required to reset the string to be empty; the second line is required to clear any error flags that may be set. If you know that no error flags are set or you don't care about resetting them, then you don't need to call
clear()
.Usually it is easier, cleaner, and more straightforward (straightforwarder?) just to use a new
std::ostringstream
object instead of reusing an existing one, unless the code is used in a known performance hot spot.