std::basic_ostream<CharT,Traits>* tie() const; | (1) | |
std::basic_ostream<CharT,Traits>* tie( std::basic_ostream<CharT,Traits>* str ); | (2) |
Manages the tied stream. A tied stream is an output stream which is synchronized with the sequence controlled by the stream buffer (rdbuf()
), that is, flush()
is called on the tied stream before any input/output operation on *this
.
1) Returns the current tied stream. If there is no tied stream,
NULL
is returned. 2) Sets the current tied stream to
str
. Returns the tied stream before the operation. If there is no tied stream, NULL
is returned.Parameters
str | - | an output stream to set as the tied stream |
Return value
The tied stream, or NULL
if there was no tied stream.
Exceptions
(none).
Notes
By default, the standard streams cin
, cerr
and clog
are tied to cout
. Similarly, their wide counterparts wcin
, wcerr
and wclog
are tied to wcout
.
Example
#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"; }
Output:
Result before tie(): "0" Result after tie(): "Hello"
Please login to continue.