Linux文件编程
一、文件打开
1、头文件:
#include <sys/types.h>
#include <sys/stst.h>
#include <fcntl.h>
2、打开函数原型:
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
//pathname:要打开的文件名(含路径,缺省为当前路径)
// 指针(字符串指向文件路径)
//mode_t mode:权限
注释:(重要)
Flags:
(1)O_RDONLY 只读打开
(2)O_WRONLY 只写打开
(3)O_RDWR 可读可写打开
当我们附带了权限后,打开的文件就只能按照这种权限来操作。
以上这三个应当只指定一个。下列常数是可选择的
(1)O_CREAT:若文件不存在则创建它。使用此选项时,需要同时说明第三个参数mode,用其说明该文件的存取许可条件。
(2)O_EXCL:如果同时指定O_CREAT文已存在,则返回 -1
//作用:判断文件是否存在
(3)O_APPEND:每次写入时都可加到文章尾端
//作用:在旧文件内容下方添加(写入新文件的内容不会覆盖文件之前的内容,都会存在)
(4)O_TRUNC:打开文件时,如果这个文件中本来是有内容的,而且为只读或只写成功打开,则其长度截断为 0
//删除文件所有内容,有写入函数,则重新写入写入函数的内容,没有则清空之前文件所有内容
mode :一定是在flags中使用O_CREAT标志,mode记录待创建的文件访问权限
三、返回值
文件打开失败返回值为: -1
文件打开成功返回值为: 整型数