open函数是linux 文件I/O读取的常用函数,open函数的返回值:如果打开文件失败返回-1,否则返回一个大于0的值,表示文件描述符号(内核用它来读取文件)。
专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业景谷免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
我们首先来看下open函数在Linux下的定义
#include
#include
#include
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
头文件
如上所示,我们在使用open函数时候需要添加的头文件是
#include //这里提供类型pid_t和size_t的定义
#include
#include
open函数的返回值如果操作成功,它将返回一个文件描述符,如果操作失败,它将返回-1。
在open函数中第一个参数pathname是指向想要打开的文件路径名,或者文件名。我们需要注意的是,这个路径名是绝对路径名。文件名则是在当前路径下的。
flags参数表示打开文件所采用的操作,我们需要注意的是:必须指定以下三个常量的一种,且只允许指定一个
以下的常量是选用的,这些选项是用来和上面的必选项进行按位或起来作为flags参数。
以下三个常量同样是选用的,它们用于同步输入输出
mode参数表示设置文件访问权限的初始值,和用户掩码umask有关,比如0644表示-rw-r–r–,也可以用S_IRUSR、S_IWUSR等宏定义按位或起来表示,详见open(2)的Man Page。要注意的是,有以下几点
从来源来分,这两者很好区分:
open函数是Unix下系统调用函数,操作成功返回的是文件描述符,操作失败返回的是-1,
fopen是ANSIC标准中C语言库函数,所以在不同的系统中调用不同的内核的API,返回的是一个指向文件结构的指针。
同时open函数没有缓冲,fopen函数有缓冲,open函数一般和write配合使用,fopen函数一般和fwrite配合使用。
文章标题:详解linux—open函数
转载来源:http://www.shufengxianlan.com/qtweb/news39/257939.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联