关于流(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)的主要内容,如果未能解决你的问题,请参考以下文章

关于IO流中的输入流输出流的理解

关于流(io)

关于IO流的一些总结

java中的IO流

java 关于流的使用

关于ios::sync_with_stdio(false);和 cin.tie加速c++输入输出流