open 函数用于打开和创建文件。以下是 open 函数的简单描述
#include
int open(const char *path, int access,int mode)
返回值:成功则返回文件描述符,否则返回 -1
path 要打开的文件路径和名称
如 C:/cpp/a.cpp
access 用于指定文件的打开/创建模式,宏定义和含义如下:
O_RDONLY 1 只读打开
O_WRONLY 2 只写打开
O_RDWR 4 读写打开
还可选择以下模式与以上3种基本模式相与:
O_CREAT 0x0100 创建一个文件并打开
O_TRUNC 0x0200 打开一个已存在的文件并将文件长度设置为0,其他属性保持
O_EXCL 0x0400 未使用
O_APPEND 0x0800 追加打开文件
O_TEXT 0x4000 打开文本文件翻译CR-LF控制字符
O_BINARY 0x8000 打开二进制字符,不作CR-LF翻译
mode 该参数仅在access=O_CREAT(创建一个文件并打开 )方式下使用,其取值如下:
S_IFMT 0xF000 文件类型掩码
S_IFDIR 0x4000 目录
S_IFIFO 0x1000 FIFO 专用
S_IFCHR 0x2000 字符专用
S_IFBLK 0x3000 块专用
S_IFREG 0x8000 只为0x0000
S_IREAD 0x0100 可读
S_IWRITE 0x0080 可写
S_IEXEC 0x0040 可执行
create函数也能打开一个文件,如果文件不存在,则创建它。和open一样,creat也在调用成功后返回一个文件描述符,如果失败,则设置errno变量并返回-1.
creat的原型为:
int creat (const char *pathname,mode_t mode);
他等价于:
open(pathname,O_CREAT | O_TRUNC | O_WRONLY,mode);
在使用完某个函数后要关闭他,使用close函数。close只有一个参数,即open返回的文件描述符.
close的原型为:
#include
int close(int fd);