现在的位置: 首页 > 综合 > 正文

Linux的那些事儿(5)—-Linux环境下编程之文件I/O

2013年09月18日 ⁄ 综合 ⁄ 共 1381字 ⁄ 字号 评论关闭

 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测试能否对标准输入设置偏移量

 

 

抱歉!评论已关闭.