登录 注册
当前位置:主页 > 资源下载 > 49 > 直接转换法:将数据流图转化为模块结构图的I/O效率

直接转换法:将数据流图转化为模块结构图的I/O效率

  • 更新:2024-11-05 15:45:32
  • 大小:5.82MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Unix - 操作系统
  • 格式:PDF

资源介绍

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