C语言中流指什么,不要复制,用自己的理解解释一下,感谢了

最好举一个例通俗易懂的例子,感谢了

版本四
流 原从stream翻译来。
什么电脑外设控制,磁盘文件输入输出,只要是输入或者输出所产生的数据都是流。
从linux对于硬件设备的控制很容易看出,对于硬件和磁盘上的文件,C语言的操作方法基本上一样。linux中C语言也是把硬件当做文件进行操作。(本质上,它把外设与txt文本文件看成一类东西。)流的概念的提出,我认为是为了程序对于文本和硬件的一系列操作而设定的统一标准。从程序员角度来看,就不需要知道各个操作的细节,编程的时候,统一把外设都当成文件进行操作就OK了。比如对于声卡,先OPEN打开,然后write写入,就完成喇叭发声,然后close关闭。和对于文本操作基本一样。

不管对设备或是文件(广义上都是文件)的输入输出操作,而产生的数据,都是I/O流。而C语言中的I/O流能分为两种:文本流,二进制流。很容易看出文本流控制很二进制流控制的区别。你用TC,fopen打开一个MP3或者别的32位文件,然后读取,会发现用文本流打开后,文件只能读到开头一点点。因为32位音乐文件有很多的'00'数据,文本流会把它当做文件结束符而结束读取。而二进制流打开方式则可以从头读到尾。(这时候输出的时候可能存在点问题,实验的时候可以用二进制 流方式再写入到另外一个文件来观察。)
流是由输入输出产生的,是用于数据交换或转换的统一的标准(特指这一类的数据)。C++和一些编程语言中定义的流(stream)类,就是对这类数据的定义。并通过成员函数对“流”进行操作。这样,用户和程序,程序和外设之间都是通过“流”进行交互。而程序员不需要知道“流”的底层到底是怎么实现的。 就好像吃饭和排泄。数据流中定义了,先牙齿咀嚼,然后胃部消化,然后小肠吸收,然后大肠发酵,然后你懂的。你只需要CIN,还有COUT,就能控制吃喝拉撒。你管它是细嚼还是狼吞?你管它便秘还是拉肚子?吞吐量是电脑性能的事。你管它是先进小肠还是先进胃?底层是内核的事。你只需要拥有了CIN和COUT,你就拥有了一切。
从广义上来说,流也是文件,不同于txt文本类的文件(流属于数据,数据等同于文件)。你可以对流进行各种操作。缓冲区的定义,也是为了对流的操作。
综上,我们知道了,流是数据,流是标准,流是文件。流的作用我们知道了,那么“流”到底是个什么玩意呢?非常同意 448634095 所说的。用着用着自己就知道是什么玩意了。就好像刚开始学编程 闹不明白函数 是个啥意思,和数学上的函数一点也不一样。你现在知道整形是什么了吧?你能不能给我举个简单的列子给我解释下整形是什么?
注意:流和 输入输出的缓冲区是两个概念。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-26
指的就是c语言中的数据或文件 比如清除文件流函数 int fflush(file *stream)中的file 参数就是就是文件流

另外在C语言中,在程序开始运行时,系统自动打开3个标准文件:标准输入、
标准输出、标准出错输出。通常这3个文件都与终端相联系。因此,以前我们所用到的从终端输入或输出都不需要打开终端文件。系统自定义了3个文件指针
stdin、stdout、stderr,分别指向终端输入、终端输出和标准出错输出(也从终端输出)。
标准输入流:stdin
标准输出流:stdout
标准错误输出流:stderr
这三个也属于特殊的文件流
所以fflush(file *stream)也可以这样写 fflush(stdin)清除标准输入流 fflush(stdout)清除标准输出流
fflush(stdeer)清除标准错误流
第2个回答  2013-01-04
流指一个字符序列嘛。比如我在标准输入中输入了一个字符串,它会以流的形式存储,你可以对这个流进行一些操作。追问

我这么理解,流是程序和设备(也叫文件吧)之间的数据输入输出形式。是不是这样呢

追答

对。流起到一个缓冲的作用,它是外部与程序进行数据交换的纽带。

追问

流是数据交换的纽带?流不就是数据吗?至于你说的缓冲作用,也不懂。缓冲我只知道有个缓冲区,在内存上开辟出来的,当写满时才写到磁盘中。

追答

流是一个抽象,你可以把它想象为一个类(其实它就是一个类,具体见C++ Programming Language),这个类包含一个缓冲区,一些友元(friend istream&(const...)之类的),一些操作。当你读入数据,就是读到这个缓冲区中,可以通过这个类操纵缓冲区。

追问

又深了

追答

兄台见谅,我用的是安卓版知道,回答中有错误,没法改。

第3个回答  2013-01-04
就是如同带状的数据。只有前后,没有左右。
第4个回答  2013-01-04
其实只是一个名字而已,没什么神秘的。就像你的名字一样。只不过第一次遇到就比较好奇而已,用久了就习惯了。
相似回答