标签:
这一章主要说的是输入输出流的概念和对于输入输出的简单应用。
说过的概念:
·缓冲区
在使用控制台程序编写程序时,使用输入函数输入内容时,输入的内容总是会在键入换行符\n后才完成输入,之前不论增减还是更改“输入”的内容,都不会确定最终的输入结果。而在玩游戏或者实时的按键操作时,任何一个按键,点触和移动设备都会立即产生相应的响应。这两种方式分别为缓冲输入和非缓冲输入。
·重定向
对于一台计算机,其输入和输出的形式并不是唯一的。输入可以是来自键盘,文件,说不定还能来自什么引力波,短波,中波,长波,小宇宙查克拉,输出的目的设备也是同样多种多样。所以对于语言标准来说这样过于麻烦和具体,也不重要。对于C语言,语言标准引入一个“流”的概念,将所有输入和输出都抽象成一个统一的“东西”来操作,不需要管具体的设备和位置,就像一条河流,支流很多,但支流的水一旦流入主河道,那从下游看这些水就是主河道的水,跟支流无关。有了“流”这个概念,计算机编程就可以对输入和输出进行统一的操作。而不同种类的输入来源都可以人为或自动将输入目的改到运行程序中。而可以使用的任何输出设备也可以用程序控制输出所需的内容。这就是重定向。
重定向的应用在操作系统中可以用命令行来实现。书中用Linux和DOS来举例,没有实践所以不说了就。
·EOF
对于文件来说,文件中的内容和大小都可以是任意的。对于系统和程序,可以通过多种方法来判断文件的结尾。一种的通过文件的大小来判断,另一种就在文件内容的末尾加上EOF符号,通过检测EOF来找到文件的末尾。EOF(end of file)的实际值不需要考虑,操作系统和变成语言的不同都会对EOF的具体值造成影响,C 语言中的EOF 在stdio.h中定义为-1。
标签:
原文地址:http://www.cnblogs.com/bolgofzjr/p/4491356.html