【发布时间】:2015-09-16 21:08:55
【问题描述】:
我在一个函数中得到一个ostream 对象引用。它包含一个我需要修改的字符串。
我使用rdbuf() 函数将ostream 的内容复制到stringstream 中。
现在我需要将更新的字符串流(即底层字符串)复制回 ostream 对象。我该怎么做?
我搜索了擦除ostream内容的方法,但没有找到。
注意:我无法更改其他功能的实现,即我无法使用ostringstream(我知道这可以解决我的问题)。
【问题讨论】:
-
你确定你有一个实际的
std::ostream对象实例而不是一个引用吗?我会争辩说,如果您需要在事后修改某些输出,那是糟糕的设计。此外,您怎么知道您要修改的实际字符串仍然是 in 缓冲区?如果它已经被冲洗了怎么办? -
很抱歉,这是一个参考,而不是副本。