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()函數