它用于获取/设置流缓冲区。 如果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
}