Cpp-standard-library-cpp-ios-tie

提供:Dev Guides
移動先:案内検索

C ++ IOSライブラリ-tie

説明

固定ストリームを取得/設定するために使用されます。

C 98

デフォルトでは、cinはcoutに、wcinはwcoutに関連付けられています。 ライブラリ実装は、初期化時に他の標準ストリームを結び付ける場合があります。

C 11

デフォルトでは、標準のナローストリームcinおよびcerrはcoutに関連付けられ、ワイド文字の対応するもの(wcinおよびwcerr)はwcoutに関連付けられます。 ライブラリ実装は、clogとwclogを結び付けることもあります。

宣言

以下は、ios
tie関数の宣言です。
get (1) ostream* tie() const;
set (2) ostream* tie (ostream* tiestr);

最初の形式(1)は、関連付けられた出力ストリームへのポインターを返します。

2番目の形式(2)は、オブジェクトをtiestrに結び付け、呼び出しの前に結び付けられたストリーム(存在する場合)へのポインターを返します。

パラメーター

*tiestr* -出力ストリームオブジェクト。

戻り値

呼び出しの前に結び付けられたストリームオブジェクトへのポインタ、またはストリームが結び付けられていない場合はnullポインタ。

例外

基本保証-例外がスローされた場合、ストリームは有効な状態です。

データの競合

ストリームオブジェクトにアクセス(1)または変更(2)します。

同じストリームオブジェクトへの同時アクセスは、データの競合を引き起こす可能性があります。

以下の例では、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