关于流(io)
Posted HNFXS985
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于流(io)相关的知识,希望对你有一定的参考价值。
流是一种对集合上的一系列转换延迟执行的机制。
这样简单理解记忆流:流就是一个帮定了一个“外设”的容器,具有缓冲功能。之所以产生流,是为了方便处理从一个容器往另一个容器里放东西的时候,不用考虑另一个容器是否来的及接收和是否能够容得下,这些都由流自动完成。所以简单理解流时,也可以把流看做事绑定了一个“外设容器”的“具有缓冲效果的外设”。
下面举例讲解为什么可以这样简单理解:
我们在new一个流的时候一般都需要提供一个参数,这个参数一般是个文件名或者自己数组等。如:
iostream stream=new IOStream("f:\\aa.txt") ; #只是随便举个例子,不涉及编程语言
这样一个stream流就建立好了,流建立好后就立刻绑定到一个“外设”,当然也可以绑定到一个内存对象,如字节数组,以后往字节数组里写东西。
以后用流的话可以如下:
string ss="hello,world"; ;
stream<<ss; #这里把stream当做了输出流,往文件里写东西
或者
string ss;
stream>>ss; #这里把stream当做了输入流,从文件中读取内容,存入字符串变量ss中。
当然有的变成语言不提供输入和输出运算符(>> , <<),而是提供了入reader和writer函数,而python和C就提供了输入输出运算符。
从上面代码(可以看成是伪代码,但几乎所有编程语言都大致这样使用)可以看成,new一个流对象的时候就一定绑定了一个容器(一般是外设),可以对流进行写操作和读操作。所以可以认为一个流对象就是一个“绑定了外设的容器”。
以上是关于关于流(io)的主要内容,如果未能解决你的问题,请参考以下文章