c – 使用自定义std :: ostream包装文件*
发布时间:2020-12-16 03:22:34 所属栏目:百科 来源:网络整理
导读:我有一个与std :: ostream一起使用的函数.我需要支持使用C文件句柄(FILE *).我应该创建自己的std :: ostream子类,它委托给FILE *吗? 解决方法 正如Ben Voigt指出的那样,你想要将streambuf子类化.南加州大学网站上有一些页面,其中包含 documentation,header
我有一个与std :: ostream一起使用的函数.我需要支持使用C文件句柄(FILE *).我应该创建自己的std :: ostream子类,它委托给FILE *吗?
解决方法
正如Ben Voigt指出的那样,你想要将streambuf子类化.南加州大学网站上有一些页面,其中包含
documentation,header和
source,用于包含文件*的streambuf子类(stdiobuf)的GNU实现.它有一些依赖于它是(GroovX)的一部分的库,但那些应该很容易删除(我将首先删除所有对GVX_TRACE的引用).
有趣的是,尽管Ben Voigt所说,它还提供了std :: iostream的简约子类(stdiostream).但这似乎没有必要,因为stdiostream类用于将stdiobuf类连接到流对象的rdbuf(“读缓冲区”/设置流缓冲区)方法是公共可访问的. 你可以找到更多关于子类化streambuf here的内容(特别是在页面底部,讨论虚拟函数).上面链接的实现覆盖 关于链接实现的进一步说明: > init方法使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |