【问题标题】:C++ outputstream remove stored data [duplicate]C ++输出流删除存储的数据[重复]
【发布时间】:2014-03-20 15:49:46
【问题描述】:

目前我正在像这样将一些数据存储到输出流中

std::ostringstream oss;
std::string fileData;

for(int i = 0; i < 4; i++)
{
    oss << i;
    fileData += oss.str();
}

现在输出是这样的

1
1
2
1
2
3
1
2
3
4

如何清除我的 oss 变量中的所有数据,以免发生这种情况?

附:我知道我可以每次都声明一个新的输出流,但这似乎很极端。

【问题讨论】:

  • 在循环内声明ostringstream 不是“极端”,而是正确的风格。
  • 您的输出一定是错误的,因为您的索引从 0 到 3(含),而输出从 1 到 4...
  • 我只是作为示例输入了这个,这不是我的实际代码:)

标签: c++ for-loop outputstream


【解决方案1】:

您可以将其替换为空字符串对象:

oss.str(std::string());

【讨论】:

  • 太棒了,完美运行
猜你喜欢
  • 2015-04-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多