可能重复:
如何重用 ostringstream?
我一直在使用std::ostringstream
将值转换为字符串float
,int
但无论如何我都找不到重用实例。为了说明我的意思,以下是我尝试用来清除流的方法
#include <iostream>
#include <sstream>
using namespace std;
int main() {
ostringstream stream;
stream << "Test";
cout << stream.str() << endl;
stream.flush();
stream << "----";
cout << stream.str() << endl;
stream.clear();
stream << "****";
cout << stream.str() << endl;
return 0;
}
生成输出
Test
Test----
Test----****
这给了我一个问题,因为我必须创建许多实例,ostringstream
这些实例是浪费的。显然clear()
,flush()
不要做我需要的事情,所以有没有办法做到这一点?我检查了http://www.cplusplus.com/reference/iostream/ostringstream/上的文档,但那里似乎没有任何东西可以满足我的需求。有没有办法重置或清除流?