概述
open函数的功能是打开或创建文件,下面介绍函数所需的头文件、函数原型
open函数所需头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcnl.h>
open函数原型,其中参数pathname是要创建或者打开的文件的路径,flags用来标识打开方式
int open(const char *pathname,int flags,mode_t mode);
int open(const char *pathname,int flags);
第一组(打开方式) | 说明 | 第二组(其他) | 说明 |
O_RDONLY | 以只读方式打开 | O_CREAT | 需要创建新文件时加上这个参数 |
O_WRONLY | 以只写方式打开 | O_EXCL | 此参数课测试文件是否存在。若文件存在时而使用了O_CREAT和O_EXCL,那么返回值为-1,errno的值为17,对应的错误描述则是File Exist |
O_RDWR | 以可读可写方式打开 | O_APPEND | 每次进行写入操作时,将新内容追加到文件尾部 |
O_TRUNC | 每次进行写入操作时,先将文件内容清空,再将文件指针移到文件头 |
两组参数之间用“|”连接
需要打开一个文件时,用第二个函数
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
int main()
{
int fd;
fd = open("./file1",O_RDWR);
printf("fd = %dn",fd);
return 0;
}
当当前路径没有改文件时,就需要创建一个文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
int main()
{
int fd;
fd = open("./file1",O_RDWR);
if(fd == -1){
printf("open file1 fail!!n");
fd = open("./file1",O_RDWR|O_CREAT,0600);
if(fd > 0){
printf("create file1 success!!!n");
}
}
return 0;
}
权限类型分为三种:读(r)、写(w),执行(x),对应的加权值分别为4、2、1。代码中的0600,6=4+2;即表示创建的文件为可读可写不可执行。
最后
以上就是魁梧面包为你收集整理的Linux 文件编程 open函数的全部内容,希望文章能够帮你解决Linux 文件编程 open函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复