1. 首页
  2. 考试认证
  3. 其它
  4. I/O的效率-hds ams 2500用户手册

I/O的效率-hds ams 2500用户手册

上传者: 2024-07-22 18:48:12上传 PDF文件 17.98MB 热度 16次

3.8 write函数用write函数向打开文件写数据。#include ssize_t write(int filedes, const void *buff, size_t nbytes); 返回:若成功为已写的字节数,若出错为-1。其返回值通常与参数nbytes的值不同,否则表示出错。write出错的一个常见原因是:磁盘已写满,或者超过了对一个给定进程的文件长度限制(见7.11节及习题10.11)。对于普通文件,写操作从文件的当前位移量处开始。如果在打开该文件时,指定了O_APPEND选择项,则在每次写操作之前,将文件位移量设置在文件的当前结尾处。在一次成功写之后,该文件位移量增加实际写的字节数。更多关于Unix/Linux中的write函数的细节可以参考这里

3.9 I/O的效率程序3-3只使用read和write函数来复制一个文件。关于该程序应注意下列各点:

• 它从标准输入读,写至标准输出,这就假定在执行本程序之前,这些标准输入、输出已由shell安排好。确实,所有常用的UNIX shell都提供一种方法,它在标准输入上打开一个文件用于读,在标准输出上创建(或重写)一个文件。

• 很多应用程序假定标准输入是文件描述符0,标准输出是文件描述符1。本例中则用两个在中定义的名字STDIN_FILENO和STDOUT_FILENO。想了解更多关于文件描述符的使用,可以点击这里

• 考虑到进程终止时,UNIX会关闭所有打开文件描述符,所以此程序并不关闭输入和输出文件。

• 本程序对文件和二进制代码文件都能工作,因为对UNIX内核而言,这两种文件并无区别。想知道如何实现文件拷贝的,可以参考这篇文章。程序3-3将标准输入复制到标准输出第3章文件I/O。

下载地址
用户评论