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