# 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 | - | 要设为联系流的输出流

### 返回值

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

### 异常

可能抛出实现定义的异常。

### 注解

默认情况下，联系标准流 `cin` 和 `cerr` 到 `cout` 。类似地，联系其宽对应版本 `wcin` 和 `wcerr` 到 `wcout` 。

### 示例

    #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"