-
直接转换方法:从数据流图到模块结构图的输入和输出
资源介绍
1.4 输入和输出
1.4.1 文件描述符
文字描述符是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打
开一个现存文件或创建一个新文件时,它就返回一个文件描述符。当读、写文件时,就可使
用它。
1.4.2 标准输入、标准输出和标准出错
按惯例,每当运行一个新程序时,所有的 s h e l l都为其打开三个文件描述符:标准输入、标
准输出以及标准出错。如果像简单命令 l s那样没有做什么特殊处理,则这三个描述符都连向终
端。大多数s h e l l都提供一种方法,使任何一个或所有这三个描述符都能重新定向到某一个文件,
例如:
ls > file.list
执行l s命令,其标准输出重新定向到名为 f i l e . l i s t的文件上。
1.4.3 不用缓存的 I / O
函数o p e n、r e a d、w r i t e、l s e e k以及c l o s e提供了不用缓存的 I / O。这些函数都用文件描述符
进行工作。
实例
如果愿意从标准输入读,并写向标准输出,则程序 1 - 2可用于复制任一U N I X文件。
程序1-2 将标准输入复制到标准输出
头文件< u n i s t d . h > ( o u r h d r. h中包含了此头文件 )及两个常数 S T D I N _ F I L E N O和S T D O U T _
F I L E N O是P O S I X标准的一部分(下一章将对此作更多的说明)。很多U N I X系统服务的函数原
型,例如我们调用的r e a d和w r i t e都在此头文件中。函数原型也是ANSI C标准的一部分,本章的
第 1章 U N I X基础知识 5
- 上一篇: i2c_ioctl详解
- 下一篇: 用户标识-数据流图到模块结构图的直接转换方法