函数功能
打开或者创建文件,给定路径如果有指定文件就打开否则就创建
所用到的头文件
#include <sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
注:有的头文件的所在目录不同,一般在
/usr/include/
目录下,而该目录又包含好多子目录和文件,例如此处的sys目录,有兴趣的可以查看Linux目录(/usr/include/)目录就知道了
open函数结构
int open(char * pathname, int flags);
int open(char *pathname,int flags,mode_t mood);
参数说明:
看到返回值为int可知给函数是一个系统调用而非库函数因为直接操作的是文件描述符,如果打开成功就返回描述符,否则返回-1
pathname: 要打开的文件的路径
flags: 打开方式一般有O_RDONLY 、O_WRONLY、 O_RDWR三个分别表示只读、只写、读写但是不仅仅有这三种其他的可以自行查看定义在<sys/fcntl>头文件里;当需要多个宏常量时可以用按位或运算(’|’)
这种要与:r、w、rw区分开
mood:表示给文件设置权限,仅限新建文件使用:例如777代表可读可写可执行,一般配合flags包含O_CREATE使用
create函数结构
int create(char *pathname, mode_t mode)
头文件
与open一样
函数功能
创建新文件
返回值表示以只写的方式打开文件,否则返回-1报错
该函数相当于:
open(pathname,O_WDONLY| O_CREATE| O_TRUNC, mode)
int close(int fd)
如果成功返回0,否则返回-1
头文件
<unistd.h>
函数功能
关闭文件
参数说明
fd表示已经打开的文件的文件描述符
注意:
当一个进程结束时,该进程打开的所有文件都由内核关闭,不管你有没有调用该函数