鍍金池/ 教程/ C++/ io::rdbuf()函數(shù)
std::put_money()函數(shù)
std::setprecision()函數(shù)
std::get_time()函數(shù)
basic_ios::openmode
basic_ios::basic_ios構(gòu)造函數(shù)
ios::rdstate()函數(shù)
ios::good()函數(shù)
C++ <fstream>
fstream::swap()函數(shù)
ios非運(yùn)算符
ostream運(yùn)算符=
std::resetiosflags()函數(shù)
ios::move()函數(shù)
ios::clear()函數(shù)
std::fpos()函數(shù)
ios::narrow()函數(shù)
fstream::close()函數(shù)
ios::imbue()函數(shù)
basic_ios::setstate
ios_base::fmtflags
C++ <iomanip>
std::setw()函數(shù)
ios_base::failure
C++ <basic_ios>
ios::fill()函數(shù)
ios_base::Init
ios::widen()函數(shù)
ios庫<ios>
std::setbases()函數(shù)
ios::swap()函數(shù)
ios::set_rdbuf()函數(shù)
std::setiosflags()函數(shù)
std::put_time()函數(shù)
std::get_money()函數(shù)
ios_base::seekdir
ios_base::event_callback()函數(shù)
fstream::rdbuf()函數(shù)
std::setfill()函數(shù)
fstream::isopen()函數(shù)
ios::tie()函數(shù)
ios::copyfmt()函數(shù)
fstream::open()函數(shù)
basic_ios::basic_ios析構(gòu)函數(shù)
ios_event::eof()函數(shù)
io::rdbuf()函數(shù)
ios::exceptions()函數(shù)
ios::init()函數(shù)
ios_base::event()函數(shù)
C++標(biāo)準(zhǔn)庫教程

io::rdbuf()函數(shù)

它用于獲取/設(shè)置流緩沖區(qū)。 如果sb是一個(gè)空指針,函數(shù)會(huì)自動(dòng)設(shè)置badbit錯(cuò)誤狀態(tài)標(biāo)志(如果成員異常已經(jīng)傳遞badbit,它可能會(huì)拋出異常)。

聲明

以下是ios::rdbuf函數(shù)的聲明。

get (1)    streambuf* rdbuf() const;
set (2)    streambuf* rdbuf (streambuf* sb);

參數(shù)

  • sb ? 指向streambuf對(duì)象的指針。

返回值

指向與調(diào)用前流相關(guān)聯(lián)的流緩沖區(qū)對(duì)象的指針。

示例

下面的例子中演示了ios::rdbuf函數(shù)應(yīng)用。

#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;
}