我在两个循环中有一个流串,它正在燃烧我的 RAM。那么如何正确清除 Steam 串的缓冲区呢?就是这样简化:
stringstream ss (stringstream::in | stringstream::out);
for()
{
for()
{
val = 2;
ss << 2;
mystring = ss.str();
// my stuff
}
// Clear the buffer here
}
它写了 2 然后是 22 然后是 222 ......我试过 .clear() 或 .flush() 但事实并非如此。那我怎么做呢?
最佳答案
显而易见的解决方案是每次使用新的 stringstream
,例如:
for (...) {
std::stringstream ss;
for (...) {
// ...
}
}
这就是
stringstream
被设计用来使用的方式。 (还有:你真的想要一个
stringstream
,还是只是一个 ostringstream
?)关于c++ - 如何清除流字符串的缓冲区?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6370301/