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