Interactive applications generally involve an istream
for input and an ostream
for output. When a prompting message appears on the screen, the user responds by entering the appropriate data. Obviously, the prompt needs to appear before the input operation proceeds. With output buffering, outputs appear only when the buffer fills, when outputs are flushed explicitly by the program or automatically at the end of the program. C++ provides member function tie to synchronize (i.e., “tie together”) the operation of an istream
and an ostream
to ensure that outputs appear before their subsequent inputs. The call
cin.tie( &cout );
ties cout
(an ostream
) to cin
(an istream
). Actually, this particular call is redundant, because C++ performs this operation automatically to create a user’s standard input/output environment. However, the user would tie other istream
/ostream
pairs explicitly. To untie an input stream, inputStream
, from an output stream, use the call
inputStream.tie( 0 );