我是靠谱客的博主 魁梧面包,最近开发中收集的这篇文章主要介绍Linux 文件编程 open函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部