gpt4 book ai didi

c++ - 如何创建自己的 ostream/streambuf?

转载 作者:IT老高 更新时间:2023-10-28 21:40:31 31 4
gpt4 key购买 nike

出于教育目的,我想创建一个 ostream 和流缓冲区来做:

  1. 在执行 << myVar; 时修复字节序
  2. 存储在双端队列容器中,而不是使用 std:cout 或写入文件
  3. 记录额外的数据,例如我做了多少次<<,我做了多少次.write,我写入的字节数以及我flush()的次数。但我不需要所有信息。

我尝试过重载,但失败了。我尝试通过做

来重载写入
ostream& write( const char* s, streamsize n ) 

在我的 basic_stringstream2 类中(我将粘贴 basic_stringstream 复制到我的 cpp 文件中并对其进行了修改),但代码继续使用 basic_ostream。我查看了代码,看起来我需要重载 xsputn (本页未提及 http://www.cplusplus.com/reference/iostream/ostream )但是我还需要重载什么?以及如何构建我的类(它需要继承什么等)?

最佳答案

规范方法在于定义您自己的流缓冲区。你应该看看:

关于c++ - 如何创建自己的 ostream/streambuf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/524641/

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