它用于获取/设置流缓冲区。 如果sb
是一个空指针,函数会自动设置badbit
错误状态标志(如果成员异常已经传递badbit
,它可能会抛出异常)。
声明
以下是ios::rdbuf
函数的声明。
get (1) streambuf* rdbuf() const;
set (2) streambuf* rdbuf (streambuf* sb);
参数
sb
− 指向streambuf
对象的指针。
返回值
指向与调用前流相关联的流缓冲区对象的指针。
示例
下面的例子中演示了ios::rdbuf
函数应用。
#include <iostream>
#include <fstream>
int main () {
std::streambuf *psbuf, *backup;
std::ofstream filestr;
filestr.open ("test.txt");
backup = std::cout.rdbuf();
psbuf = filestr.rdbuf();
std::cout.rdbuf(psbuf);
std::cout << "This is written to the file";
std::cout.rdbuf(backup);
filestr.close();
return 0;
}