gpt4 book ai didi

c++ - 我可以用什么代替 strstream::freeze?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:52 26 4
gpt4 key购买 nike

我正在处理一些旧的 C++ 代码,它有已弃用的 strstream 类。我需要用工作的替换它们。

在我的头文件中我得到了这个:

ostrstream          tokenBuff;

和使用 header 的 .c 文件:

tokenBuff.freeze(0);
tokenBuff.seekp(0);

我用 ostringstream 替换了 ostrstream。 ostringstream 有 seekp() 但没有 freeze()。我该如何处理这个问题。谢谢。

最佳答案

std::ostringstream 的情况下,您不需要 freeze() - 调用此函数的必要性实际上是 strstream 的原因之一 首先被弃用了。由于它的设计(从 str() 返回 char*),不清楚谁应该清理 strstream 持有的缓冲区和 freeze() 必须用于表示您希望 strstream 本身在每次调用 str() 后执行此操作 - 在 的情况下std::ostringstream 您不必担心这一点,因为 str() 会返回 std::string 的拷贝。

关于c++ - 我可以用什么代替 strstream::freeze?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45073029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com