首页 > 编程知识 正文

输入输出流,字符串转化为输入流

时间:2023-05-05 03:14:59 阅读:119728 作者:3218

C输入/输出流用于读取和写入一些buffer,设备非常简单,例如最常用的文件、管道、串行端口、网络都可以使用该方案。 因此,通常要定制流,必须了解两个类(istream/ostream和streambuf )的用途。

此处仅显示了istream (输入流示例: )

istream定义了如何对设备或buffer执行操作,其中包括读取、读取表单。 这些读取操作streambuf可用于继承自定义buffer或设备的数据读取和缓存方法。 因为istream是应用于streambuf的操作,所以关键问题是自定义streambuf。 istream对streambuf的所有操作都基于对streambuf的接口sgetc,sgetn的调用,这两个接口又是对名为underflow的受保护虚拟成员函数的调用首先,我们需要了解这个函数的作用。 此函数的作用是缓存以读取和使用要封装的设备(文件/串行/网络/buffer )上的数据。 因为读取数据后,在setg中有几个指针的位置,(start/next/end ).istream在读取时将使用这些缓存位置。

LogBuf.h

# includestreambufclasslogbuf : publicstd 33603360 streambuf { public : log buf () :_buf ) 1024, 0 ) ) _ buf=' buf }~log buf ({ } int _ type under flow ) ) override ) if ) _Ptr )==_buf.end )._Ptr )返回转换auto s21=egptr (; 返回* gptr (; } private : STD :3360 string _ buf; (; main.h

#include 'LogBuf.h'int main () {LogBuf logBuf; STD:3360istreamis(logbuf ); std:string result; Is结果; STD :3360 coutresultstd :3360 endl; 等待; std:cin wait; 返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。