c语言open函数详解

Posted on 2012-05-14 17:55  逝水如年  阅读(6279)  评论(0)    收藏  举报
 1 /*open.c*/
 2 #include <sys/types.h>
 3 #include <sys/stat.h>
 4 #include <fcntl.h>
 5 /*
 6  * O_RDONLY 只读方式打开
 7  * O_WRONLY 只写方式打开
 8  * O_RDWR 可写可读方式打开
 9  * 可选项:
10  * O_APPEND 表示追加
11  * O_CREAT 若此文件不存在就创建,此文件需要提供第三个参数mode,表示该文件的访问权限
12  * O_EXCL 如果同时指定链O_CREATE,并且文件已存在,则出错返回。
13  * O_TRUNC 如果文件已存在,并且以只写或者可读科协方式打开。则将其长度截断为0字节
14  * O_NONBLOCK 对于设备文件,以O_NONBLOCK方式打开可以做非阻塞I/O
15  */
16 int main()
17 {
18     int f = 0;
19     //打开文件/home/akae.txt用于写操作,以追加方式打开
20     f = open("/home/akae.txt", O_WRONLY|O_APPEND);
21     close(f);
22     //打开文件/home/akae.txt用于写操作,如果文件不存在就创建它
23     f = open("/home/akae.txt", O_WRONLY|O_CREAT, 0777);
24     close(f);
25     //打开文件/home/akae.txt用于写操作,如果文件存在则截断为0字节,不存在就创建它
26     f = open("/home/akae.txt", O_WRONLY|O_TRUNC);
27     close(f);
28     //打开文件/home/akae.txt用于写操作,如果该文件已存在则报错退出,如果该文件不存在则创建它
29     f = open("/home/akae.txt", O_WRONLY|O_CREAT|O_EXCL);
30     close(f);
31     return 1;
32 }

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3