#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{

cout << cin.tie()  << endl;  //打印cin的关联流的地址
  cout << &cout << endl;    //打印cout的地址
  cout << &cin << endl;      //打印地址
  cout << cout.tie() << endl;   //打印关联流地址

cout <<"tie the cerr to cout " << endl;
  cout.tie(&cerr);            //把cerr关联到cout
  cout << cout.tie() << endl;    //打印cout的关联流,即打印cerr的地址
  cout << &cerr <<endl;          //打印cerr的地址
  cout.tie(nullptr);                    //彻底解开关联流,关联流都被解开了把?
  cout << "free the tie:"<<cout.tie() <<endl;  //

cout.tie(nullptr);       //解开cout 的关联流
  cout << cout.tie() <<endl;  
  cout << "tie the new:" <<endl;
  ostream * old_tie  = cin.tie(nullptr);  //解开cin的挂链流,并且把cin原来的关联流返回
  cout << "old value: "<<  old_tie  << endl;        //
  cout << "now 's cin ' s tie is:" <<cin.tie()<< endl;

return 0;
  }
几个总结:

(1)无论是关联还是解开,都是被关联的流作为主要职责。即调用tie的那个流作为主要的行使权利,它如果要其它流关联到它,那么会调用tie函数,strm.tie(& strm2)          把strm2关联到strm上

(2)如果要解开流的关联,那么strm调用tie来解开。strm.tie(nullptr)则可以了。

(3)谁调用关联,那么谁就调用tie(nullptr)去解开关联。并且这个流如果执行,那么被关联流strm2会首先清除缓存

c++ 输入输出流关联相关推荐

  1. c++一日一练:让标准的输入输出流关联一个缓冲区

    上篇文章讲述了如何创建自己的标准输入输出,但是如何将标准的输入输出流进行重定向呢: 下面是一个具体的方法: fp = _fdopen( hConHandle, "w" );    ...

  2. C++_IO类型_文件输入输出流_字符串流

    IO类型 iostream: 用于窗口的输入输出 fstream: 用于文件读写 sstream :读写存储在内存中的string对象 注:他们继承于istream与ostream,因此istream ...

  3. Java IO (二),常见的输入/输出流

    字节流和字符流 InputStream和Reader InputStream和Reader两个抽象类是所有输入流的基类,本身并不能创建实例来执行输入,但它们将成为所有输入流的模板.他们的方法是所有输入 ...

  4. java输出流缓冲区内容清除,Java输入输出流与缓冲区的使用

    Java输入输出流与缓冲区的使用,有需要的朋友可以参考下. 一,Input/Output流: 将外设中的数据读取到内存中就是输入. 将内存中的数据写入到外设中就是出. I/O流就是用来处理设备间的 . ...

  5. 1.7 Java字符流的使用:字符输入/输出流、字符文件和字符缓冲区的输入/输出流

    尽管 Java 中字节流的功能十分强大,几乎可以直接或间接地处理任何类型的输入/输出操作,但利用它却不能直接操作 16 位的 Unicode 字符.这就要用到字符流.本节将重点介绍字符流的操作. 字符 ...

  6. au加载默认的输入和输出设备失败_一文带你读懂 C/C++ 语言输入输出流与缓存区...

    (给CPP开发者加星标,提升C/C++技能) 作者:技术让梦想更伟大 / 李肖遥 (本文来自作者投稿) 前言 有没有发现,基本上所有的C语言入门书籍,或者是我们的教程里面,第一个C语言程序实体,都是& ...

  7. C++学习笔记:(九)输入/输出流

    目录 9.输入/输出流 9.1C++流类库简介 9.2输入/输出流 9.3自定义类型的输入/输出 9.4文件输入/输出 9.输入/输出流 数据的输入.输出是最重要的操作,C++ 的输入.输出有 ios ...

  8. Java输入/输出流体系中常用的流分类

    java输入/输出流体系中常用的流分类 分类 字节输入流 字节输出流 字符输入流 字符输出流 抽象基类 InputStream OutputStream Reader Writer 访问文件 File ...

  9. PHP-php://(类型)访问各个输入/输出流以及全局变量$HTTP_RAW_POST_DATA讲解

    $_POST $HTTP_RAW_POST_DATA php://input 先来讲以上三者的区别: $_POST:以关联数组方式组织提交的数据, 并对原数据进行编码处理(urldecode)和编码转 ...

最新文章

  1. win7建立wifi热点
  2. SQL数据库面试题以及答案!
  3. 3件Unreal Engine 3不得不说的故事
  4. 虚拟现实技术在汽车领域的应用----数虎图像科技
  5. 为什么都建议学java而不是python-为什么都建议学Java而不是Python?两者有什么区别吗?...
  6. 项目管理方面的几个.NET开源项目
  7. python开发助理s_如何使用Python构建自己的AI个人助理
  8. 台服DNF修改Script.pvf文件修改黑钻抽奖机的道具爆率,图文详解
  9. 批处理bat优化Win10 LTSC 2019系统设置
  10. AT绑定句柄无效和拒绝访问
  11. 【ROS基础】.launch文件语法记录
  12. win系统的阿里云服务器部署IDEASpringBoot项目保姆级教程
  13. Shiro session过期跳转到登录页面问题
  14. scpjsv3模组链接_我的世界scpv3模组
  15. 2021年装载机司机(建筑特殊工种)找解析及装载机司机(建筑特殊工种)考试总结
  16. linux镜像包含redis吗,Linux虚拟机镜像\redis安装
  17. PL/0语言 词法分析
  18. C++多线程同时读同一文件
  19. PostgreSQL数据库查询——scan.l分析
  20. 免拆诊断 | 2010款长城C30车加速无力

热门文章

  1. Junit单元测试学习笔记一
  2. 在MAC下搭建JSP开发环境
  3. [网络安全自学篇] 四十五.病毒详解及批处理病毒原理分析(自启动、修改密码、定时关机、蓝屏、进程关闭)
  4. C# 系统应用之获取Windows最近使用记录
  5. OpenGL之3D数学的向量和矩阵
  6. 题目 1004: [递归]母牛的故事
  7. 《每日一题》48. Rotate Image 旋转图像
  8. BASIC-7 特殊的数字
  9. 2018年第九届省赛C/C++A组第3题——乘积尾零
  10. 【Qt】QModbusRtuSerialSlave类