unix系统标准输入流为磁盘是否正确

发布网友

我来回答

2个回答

热心网友

1、文件描述符
1)顺序分配的非负整数
2)内核用以标识一个特定进程正在访问的文件
3)其他资源(socket、pipe)的访问标识
2、标准输入、标准输出和标准出错
stdio stdout stderr
由shell默认打开,分别为 0\1\2
3、不用缓存的I\O
1)通过文件描述符进行访问
2)文件I\O: open read write close lseek
4、标准I\O
1) 通过FILE*进行访问
2)printf fprintf fopen fread fwrite fseek fclose
标准I\O 库由ANSIC标准说明。

标准I\O :
流和FILE对象:
标准I\O库的所有操作都是围绕流(stream)来进行的,在标准I\O中,流用FILE*来描述。
流(stream): 分为文本流和二进制流
文本流: 在处理中数据以字符出现。 "\n" -> CR blabla ....
二进制流:流中处理的是二进制序列。字符用ascii码表示。
文件缓冲:
缓冲文件系统(高级磁盘I\O):
目的:尽量减少文件I/O的调用
分类: 全缓冲、行缓冲(遇到"\n"输出)、不缓冲(stderr)
使用setbuf()和setvbuf()可以更改缓存类型,在任意时刻,可以使用fflush强制刷新一个数据流,使缓存数据刷新到内核。
非缓冲文件系统(低级磁盘I\O) 文件I/O没有缓存

热心网友

标准输入流是键盘吧,没听说是硬盘。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com