【发布时间】:2015-07-28 20:45:32
【问题描述】:
我想继承std::basic_streambuf 来实现基于TCP 连接的流缓冲区。我不完全了解指针eback, gptr, egptr, pbase, pptr, epptr 的作用。我将流缓冲区视为一个实体,它只是让您从流中读取字符或将字符写入流,并可能重新定位读/写指针(在我的情况下不是)。这些指针对我来说没有意义,因为我正在考虑为输入和输出实现一个循环缓冲区(因此有可能,例如,gend < gbeg)。我真的必须实现这些指针(eback, gptr 等...),还是我可以将它们全部设置为nullptr,一切都会正常工作?或者有一些功能可以使用它们?
【问题讨论】:
-
这里有一些代码可以检查(或直接使用)fdstream。您可以给
fdstream一个套接字文件描述符。或者GCC具有stdio_filebuf作为库扩展#include <ext/stdio_filebuf.h>。再次传递一个套接字文件描述符。
标签: c++ tcp stream network-programming iostream