C++程序把输入和输出看作字节流。输入时,程序从输入流中抽取字节;输出时程序将字节插入到输出流中。
对于面向文本的程序,每个字节代表一个字符。故流充当了程序和流源或流目标之间的桥梁,通过使用流,C++程序处理
输出(输入)的方式将独立于其去向(来源)。
或
通过使用缓冲区可以更高效地处理输入和输出。
### 缓冲区:用作中介地内存块,它是将信息从设备传输到程序或从程序传输给设备的临时存储工具。
### 作用:通常,像磁盘驱动器这样地设备以512字节(或更多)地块为单位来传输信息,而程序通常每次只能处理1 个字节的信息。
### 缓冲区帮助匹配这两种不同的信息传输速率:程序—>缓冲区—>设备、设备—>缓冲区—>程序。因此结合缓冲区的机制,
### 使得输入输出更快和更方便。
### 其次,对键盘输入虽然不用担心速率匹配问题(键入速度小于程序的处理速度),但是对键盘进行缓冲可以让用户在将输入
### 传输给程序之前返回并更正。
### ### 由于磁盘等设备执行一个操作时需要大量的硬件操作,所以从内存中读取或写入
### ### 单个字节的速度比从硬盘这些设备上快很多,故采用对于磁盘等设备采用块的方式来处
### ### 理信息,并结合缓冲区的机制,使数据暂存于内存中,让设备与程序的互动变成内存与程序的互动,以达到速率匹配的目的。
刷新缓冲区:
原文:https://www.cnblogs.com/suui90/p/13574427.html