ios::tie()函数

它用于获取/设置绑定流。

C++98

默认情况下,cin绑定到coutwcin绑定到wcout。库实现可以在初始化时绑定其他标准流。

C++11

默认情况下,标准窄流cincerrcout绑定,它们的宽字符对应(wcinwcerr)绑定到wcout。 库实现也可以绑定clogwclog

声明

以下是ios::tie函数的声明。

get (1)    ostream* tie() const;
set (2)    ostream* tie (ostream* tiestr);

第一种形式(1)返回指向绑定输出流的指针。

第二种形式(2)将对象绑定到tiestr,并返回一个指向调用之前绑定的流的指针(如果有的话)。

返回值

  • 指向在调用之前绑定的流对象的指针,或者在流未绑定的情况下,则为空指针。

示例

在下面的例子中演示了ios::tie函数的使用。

#include <iostream>     
#include <fstream>      

int main () {
   std::ostream *prevstr;
   std::ofstream ofs;
   ofs.open ("test.txt");

   std::cout << "tie example:/n";

   *std::cin.tie() << "This is inserted into cout";
   prevstr = std::cin.tie (&ofs);
   *std::cin.tie() << "This is inserted into the file";
   std::cin.tie (prevstr);

   ofs.close();

   return 0;
}

编译和运行上面的程序,将产生以下结果 -

tie example:
This is inserted into cout

上一篇: ios::imbue()函数 下一篇: io::rdbuf()函数