io::rdbuf()函数

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

上一篇: ios::tie()函数 下一篇: ios::narrow()函数