std::basic_ios<CharT,Traits>::tie

< cpp‎ | io‎ | basic ios
std::basic_ostream<CharT,Traits>* tie() const;
(1)
std::basic_ostream<CharT,Traits>* tie( std::basic_ostream<CharT,Traits>* str );
(2)

管理联系流。联系流是输出流,它与流缓冲( rdbuf() )所控制的输出序列同步,即在任何 *this 上的输入/输出操作前,在联系流上调用 flush()

1) 返回当前联系流。若无联系流,则返回空指针。
2) 设置当前联系流为 str 。返回操作前的联系流。若无联系流,则返回空指针。

参数

str - 要设为联系流的输出流

返回值

联系流,或若无联系流则为空指针。

异常

(无)

注意

默认情况下,联系标准流 cincerrcout 。类似地,联系其宽对应版本 wcinwcerrwcout

示例

#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ofstream os("test.txt");
    std::ifstream is("test.txt");
    std::string value("0");
 
    os << "Hello";
    is >> value;
 
    std::cout << "Result before tie(): \"" << value << "\"\n";
    is.clear();
    is.tie(&os);
 
    is >> value;
 
    std::cout << "Result after tie(): \"" << value << "\"\n";
}

输出:

Result before tie(): "0"
Result after tie(): "Hello"