这一周以来一直与Linux的文件操作相关系统调用打交道,其与C语言中的文件操作函数有些许相似但又千差万别.尤其是open()函数的参数,相当复杂,因此作以记录便于查阅.
对于用Linux系统调用进行文件的常用操作作以总结
主要是关于open()系统调用的各个参数做记录.
简述:open是UNIX系统(包括LINUX、Mac等)的系统调用函数,区别于C语言库函数fopen。
#include<fcntl.h>
int open(constchar*pathname,intflags);
int open(constchar*pathname,intflags,mode_tmode);
返回值:成功则返回文件描述符,否则返回-1
对于open函数来说,第三个参数仅当创建新文件时(即 使用了O_CREAT 时)才使用,用于指定文件的访问权限位(access permission bits)。pathname 是待打开/创建文件的POSIX路径名(如/home/user/a.cpp);flags 用于指定文件的打开/创建模式,这个参数可由以下常量(定义于fcntl.h)通过逻辑位或逻辑构成。
O_RDONLY只读模式
O_WRONLY只写模式
O_RDWR读写模式
打开/创建文件时,至少得使用上述三个常量中的一个。以下常量是选用的