I/O的效率-数据流图到模块结构图的直接转换方法

时间:2021-06-22 07:36:48
【文件属性】:
文件名称:I/O的效率-数据流图到模块结构图的直接转换方法
文件大小:5.82MB
文件格式:PDF
更新时间:2021-06-22 07:36:48
APUE UNIX 3.8 write函数 用w r i t e函数向打开文件写数据。 #include ssize_t write(int f i l e d e s, const void *b u f f, size_t n b y t e s) ; 返回:若成功为已写的字节数,若出错为- 1 其返回值通常与参数n b y t e s的值不同,否则表示出错。w r i t e出错的一个常见原因是:磁盘已写 满,或者超过了对一个给定进程的文件长度限制 (见7 . 11节及习题1 0 . 11 )。 对于普通文件,写操作从文件的当前位移量处开始。如果在打开该文件时,指定了 O _ A P P E N D选择项,则在每次写操作之前,将文件位移量设置在文件的当前结尾处。在一次 成功写之后,该文件位移量增加实际写的字节数。 3.9 I/O的效率 程序3 - 3只使用r e a d和w r i t e函数来复制一个文件。关于该程序应注意下列各点: • 它从标准输入读,写至标准输出,这就假定在执行本程序之前,这些标准输入、输出已 由s h e l l安排好。确实,所有常用的UNIX shell都提供一种方法,它在标准输入上打开一个文件 用于读,在标准输出上创建(或重写)一个文件。 • 很多应用程序假定标准输入是文件描述符 0,标准输出是文件描述符 1。本例中则用两个 在< u n i s t d . h >中定义的名字S T D I N _ F I L E N O和S T D O U T _ F I L E N O。 • 考虑到进程终止时,U N I X会关闭所有打开文件描述符,所以此程序并不关闭输入和输出 文件。 • 本程序对文本文件和二进制代码文件都能工作,因为对 U N I X内核而言,这两种文件并 无区别。 程序3-3 将标准输入复制到标准输出 第 3章 文 件 I/O 4 1

网友评论