(9个答案)5年前关闭。
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以获得所需的输出?
pinkon5k1#
s.str(""); s.clear();
第一行需要将字符串重置为空;第二行用来清除任何可能设置的错误标志,如果你知道没有设置错误标志或者你不关心重置它们,那么你就不需要调用clear()。通常情况下,使用新的std::ostringstream对象比重用现有的std::ostringstream对象更容易、更干净、更直接(更直接?),除非代码用于已知的性能热点。
clear()
std::ostringstream
1条答案
按热度按时间pinkon5k1#
第一行需要将字符串重置为空;第二行用来清除任何可能设置的错误标志,如果你知道没有设置错误标志或者你不关心重置它们,那么你就不需要调用
clear()
。通常情况下,使用新的
std::ostringstream
对象比重用现有的std::ostringstream
对象更容易、更干净、更直接(更直接?),除非代码用于已知的性能热点。