Linux文件编程open、read、write操作
常用对文件编程的操作如open、read、write
open解析:
头文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
函数原型:
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
pathname : 待打开 / 创建文件的路径名
flags : 用于指定打开文件 / 创建文件的方式
mode : 仅当创建新文件(在flags中使用了O_CREAT)时才使用,用于指定文件的访问权限
flags类型有:
- O_RDONLY :只读方式打开
- O_WRONLY : 只写方式打开
- O_RDWR : 可读可写方式打开 (这个较为常用)
除了以上三种权限需指定一种,还有如下权限常数可选择使用:
- O_CREAT 若文件不存在则创建它。使用此选项时,需要同时说明第三个参数mode,用其说明该新文件的存取许可权限
- O_EXCL 如果同时制定了 O_CREAT,而文件已经存在,则出错
- O_APPEND 每次添加数据给文件,都会加到文件的尾端,不会覆盖数据
- O_TRUNC 用该权限去打开文件时,如果这个文件中本来是有内容的,而且为只读或只写成功打开,则原来的数据会被清除,新数据重新添加进来
代码样例:
int fa; //给文件起的编号
//可读可写打开
fa = open(“./fire1”,O_RDWR);