您的位置:首页 > 运维架构 > Linux

《Linux C》01 文件I/O之Open操作

2016-04-26 10:59 337 查看
Open函数介绍

Open函数使用实例

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);

int creat(const char *pathname, mode_t mode);

描述:
给定一个文件的路径名,open()返回一个负整数的文件描述符,失败返回-1.
flags标志中这三个必须包含一个O_RDONLY, O_WRONLY, or O_RDWR.

文件创建标志和文件状态标志的部分列表如下:
O_APPEND
在附加模式下打开该文件
O_ASYNC
使能信号驱动I/O,此功能仅可用于终端.
O_CLOEXEC
从新的文件描述符使能这个O_CLOEXEC标志
O_NOCTTY
如果pathname指向终端,则不将设备作为此进程的控制终端
O_NDELAY
非阻塞方式操作文件
O_CREAT
如果pathname文件不存在,将被创建。包含这个标志位需为新创建的文件赋予mode,如下:


宏定义宏定义描述
s_irwxu00700用户(文件所有者)读,写和执行权限
s_irusr00400用户有读取权限
s_iwusr00200用户有写权限
s_ixusr00100用户的权限
s_irwxg00070组读,写和执行权限
s_irgrp00040组有读取权限
s_iwgrp00020组具有写权限
s_ixgrp00010组执行权限
s_irwxo00007所有人具有读、写和执行权限
s_iroth00004所有人具有读权限
s_iwoth00002所有人具有写权限
s_ixoth00001所有人具有执行权限

Open函数使用实例

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(){
int fd;
fd = open("/home/haha",O_RDWR|O_CREATE,0777);//文件不存在则创建
//fd为-1打开失败,fd为负整数则成功
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 c语言 linux io 实例