Date:2009.05.08
Content:文件I/O
大致说明可用的文件I/O函数:打开文件、读文件、写文件等;文件I/O大致包括5个函数:open/read/write/lseek/close
本次说明的函数经常被称为不带缓冲的I/O,指的是每个read和write都调用内核中的一个系统调用。
只要涉及到多个进程间的共享资源,原子操作的概念就相当重要。
1、open函数
调用open函数可以打开或创建一个文件
********************************************************************************
pathname是要打开或者创建文件的名字
oflag参数可用来说明此函数的多个选项(O_RDONLY表示只读打开;O_WRONLY表示只写打开;O_RDWR表示读写打开)
这三个常量必须指定且只能指定一个,还有部分常量是可选的,在这里不再给出
由open返回的文件描述符一定是最小的未用描述符数值
********************************************************************************
2、creat函数
调用creat函数可以创建一个文件
3、close函数
调用close函数关闭一个打开的文件
4、lseek函数
调用lseek函数显式的为一个打开的文件设置其偏移量
********************************************************************************
offset的解释与参数whence有关
若whence是SEEK_SET,则将该文件的偏移量设置为距文件开始处offset个字节
若whence是SEEK_CUR,则将该文件的偏移量设置为当前值加offset,offset可正可负
若whence是SEEK_END,则将该文件的偏移量设置为文件长度加offset,offset可正可负
********************************************************************************
实例3-1测试能否对标准输入设置偏移量