table of contents
std::basic_ios::tie(3) | C++ Standard Libary | std::basic_ios::tie(3) |
NAME¶
std::basic_ios::tie - std::basic_ios::tie
Synopsis¶
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, a null
pointer is
returned.
2) Sets the current tied stream to str. Returns the tied stream before the
operation. If there is no tied stream, a null pointer is returned.
Parameters¶
str - an output stream to set as the tied stream
Return value¶
The tied stream, or a null pointer if there was no tied stream.
Exceptions¶
May throw implementation-defined exceptions.
Notes¶
By default, the standard stream cout is tied to cin and cerr.
Similarly, its wide
counterpart wcout is tied to wcin and wcerr.
Example¶
// Run this code
#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"
2022.07.31 | http://cppreference.com |