在前面说到过每一个iostream对象都有一个缓冲区,我们称之为流缓冲区,那个这个所谓的流缓冲区是怎 么存在的呢?iostreams中将该流缓冲区抽象为一个类,即streambuf类。
每个iostream的类都会包含 一个指向streambuf对象的指针,这也就意味着我们可以直接的去访问到这个指针,并向该streambuf对象发送 消息等(但是一般情况下我们并不需要这样做)。
既然说我们可以得到这个指针,那isotreams类当然 会提供访问的接口了,这就是const成员函数rdbuf(),它会返回iostream对象所有的streambuf也就是缓冲区 的指针。那这个缓冲区的指针有什么用呢?最常用的就是直接对其进行输入输出操作,看下面的例子:
1.txt内容: hello world~~!! my name is zorro. nice to meet you~
int main() { ifstream fin("1.txt"); cout << fin.rdbuf() << endl; system("pause"); return 0; }
上面的程序输出为:
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索指针
, 对象
, iostream
, cout 输出流
, 缓冲区
, 指针的用法
, iostream数据结构
, 一个
, C++指针详解
直接
boost iostreams、英语数词用法详解、英语宾语从句用法详解、条件函数if的用法详解、英语动词时态用法详解,以便于您获取更多的相关知识。