文件名称:输入和输出-数据流图到模块结构图的直接转换方法
文件大小:5.82MB
文件格式:PDF
更新时间:2024-07-12 01:23:23
APUE UNIX
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