C++ 输入输出重定向
2021-07-11 19:06
标签:需要 str highlight close 文件 open 屏幕 关联 获取 C++中流(stream)是一个对象,所以任何有流这种行为的对象也是流对象。 流主要分为三种类型: 每个流对象都关联一个流buffer,程序一般从buffer中读取数据,所以如果要重定向流,只需要把buffer对象指向另外一个流即可。 所有的流对象都关联了一个类成员数据streambuf,它就是stream的缓冲区(buffer)。C++读取输入输出的时候是从buffer中读取,而不是源数据流读取。 我们执行重定向操作使用ios::rdbuf()方法。对于这个方法,如果不传参数,那么直接返回流对象的buffer指针。如果传递了某个流对象的buffer指针,那么将当前的流对象绑定到那个传递过来的流对象的buffer上。 例子: 实际操作: C++ 输入输出重定向 标签:需要 str highlight close 文件 open 屏幕 关联 获取 原文地址:https://www.cnblogs.com/ranwuer/p/9550010.html
stream_object.rdbuf(); //返回流对象buffer
stream_object.rdbuf(streambuf * p); //绑定流对象buffer
// cout 重定向到文件
#include