当前位置: 首页 > 文档资料 > C++大学教程 >

11.9 把输出流连到输入流上

优质
小牛编辑
119浏览
2023-12-01

交互式应用程序通常要分别用类 istream 和 ostream 输入和输出数据。当提示信息出现在屏幕上时,用户输入一个数据来响应。显然,提示信息必须在执行输入操作前出现。在有输出缓冲区的情况下,只有在缓冲区已满时、在程序中明确地刷新输出缓冲区时或因程序结束而自动刷新输出缓冲区时,输出信息才会显示到屏幕上。为保证输出要在下一个输入前显示,C++ 提供了成员函数tie,该函数可以实现输入/输出操作的同步,也就是把这两个操作“系在一起”。例如,函数调用:

cin.tie(&cout);

把 cout(ostream 的对象)连到 cin(istream 的对象)上。实际上,C++ 为了建立用户的标准输入/输出环境而自动执行了这个操作,所以这个专门的调用其实是多余的。但是,用户可以显式地把其他配对的输入/输出流“系”在一起。使用函数调用:

inputStream.tie(0);

可以从一个输出流中解开输入流 inputStream。