=============================
文件IO的基本操作:
打开文件,创建文件,关闭文件,读写文件
=============================
注意:
文件IO所有操作都是基于文件描述符的(即直接对文件描述符进行操作)
=============================
1.打开文件
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);
参数:
pathname:文件路径名(即包含相对路径或者决定路径的文件名)
flages:打开文件的方式
mode:给创建的文件的权限(即文件的掩码)
==========================================
掩码:
1.目录的默认掩码是0777
2.文件的默认掩码是0666
==========================================
打开文件的方式:
1.O_RDONLY:以只读的方式打开文件
2.O_WRONLY:以只写的方式打开文件
3.O_RDWR:以读写的方式打开文件
注意:
以上3中方式是互斥方式,只能三选一使用
==========================================
1.O_EXCL:当打开方式中使用了O_CREAT方式时,O_EXCL会检测即将打开的文件是否存在(如果即将打开的文件不存在,则使用O_CREAT创建文件)
2.O_NOCTTY:使用此参数时,被打开的文件不能是终端
3.O_TRUNC:清空模式(即每次打开文件,都会清空文件之前的内容)
4.O_CREAT:如果此文件不存在,则创建此文件(使用此参数时,open函数会开启第三参数mode)
5.O_APPEND:追加模式(即每次都是在文件的末尾写入)
===========================================
返回值:
1.打开成功,则返回文件描述符
2.打开失败,则返回-1,和错误码
例子:打开的文件已存在
#include <stdio.h>