std::basic_ios<CharT,Traits>::tie
来自cppreference.com
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"