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 }
浙公网安备 33010602011771号