c++学习(一)——输出缓冲区管理

原创 2007年10月05日 10:01:00

导致缓冲区内容被刷新的几种情况:

1、程序正常结束。作为main返回工作的一部分,将清空所有输出缓冲区。

2、在一些内存不确定的时候,缓冲区可能已经满了,在这种情况下,缓冲区将会在写下一个值之前刷新。

3、用操作符显示地刷新缓冲区,例如行结束符endl。

4、在每次输出操作执行完后,用unitbuf操作符设置流的内部状态,从而清空缓冲区。

5、可将输出流与输入流关联起来。在这种情况下,在读输入流时,将刷新其关联的输出缓冲区。 

 

此外还应注意,如果程序不正常结束,输出缓冲区将不会刷新。调试程序时,必须保证期待写入的每个输出都确实被刷新了。最好的方法是保证所有的输出操作都显示调用了flush或endl。

相关文章推荐

C++学习笔记七——内存管理机制

博文地址:http://blog.csdn.net/u01340105 Windows内存管理器 工作集(WorkingSet):进程虚拟空间中实际被映射到物理内存页面的那部分被称为工作集; ...

C++ Primer 学习笔记_25_标准I/O库 --面向对象的标准库、条件状态、输出缓冲区的管理

标准I/O库 --面向对象的标准库、条件状态、输出缓冲区的管理 一、面向对象的标准库 1、标准库使用了继承来定义一组面向对象类,而通过继承关联起来的类型都共享共同的接口。因此,当一个类继承另一个...

Cpp Primer<<学习IO标准库--输出缓冲区的管理、文件输入与输出_6

每个IO对象管理一个缓冲区,用于存储程序读系的数据。 缓冲区被刷新情况: (1)程序正常结束。即main函数返回工作的一部分,清空输出缓冲区。 (2)缓冲区已经写满,缓冲区在写下一个值之前刷新。...

C++学习笔记 1st —— 让我们来看看cout输出吧

(http://img.blog.csdn.net/20160808181152824) 第一个C++学习笔记,注明:我用的是Visual Studio 2015加强版。 当然了,你们用VC6.0...

C++学习笔记39——重载输入输出操作符

1,重载运算符综述 (1)不能定义自己的新运算符,只能对已存在的运算符重载; (2)C++中大部分运算符都能重载,但仍有5个例外:            . (成员访问运算符)    .*(成...

C++学习笔记55——类模板的输入输出操作符

根据重载操作符那一章的规定,输入输出操作符必须作为友元而不是类的成员函数重载。 在类的模板中重载输入输出操作符的方式主要有两种: 在类模板中做friend声明,在模板外做函数定义;在类模板中定义友...

输出缓冲区的管理

每个 IO 对象管理一个缓冲区,用于存储程序读写的数据。如有下面语句: os 系统将字符串字面值存储在与流 os 关联的缓冲区中。下面几种情况将导致缓冲区的内容被刷新,即写入到真实的输出设备或者...
  • zkjscut
  • zkjscut
  • 2012年06月01日 04:16
  • 200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++学习(一)——输出缓冲区管理
举报原因:
原因补充:

(最多只允许输入30个字)