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 为字符串,表示被打开的文件 ,可包含路径(可填字符串常量 字符数组名)
flags 表示打开方式
O_RDWR D(读/写方式打开)、
O_CREAT (文件不存在时创建新的文件)、
O_EXCL(使用O_CREAT时文件存在,则可返回错误信息)
**!!!只读 只写 读写 (3选1一定要有一个)**
返回值:int 成功返回一个大于0的文件描述符 fd 失败:-1
0 1 2 3 4… 用户自己打开的文件是从3 开始
0:标准输入文件
1:标准输出文件
2:标准出错文件
mode 表示被打开文件的存取权限模式
文件属性mode
mode & ~umask (真正的权限值)
umask权限掩码 有区别用户权限和root的权限
如:0777 & ~0002 === 实际0775
-----int creat(const char *pathname, mode_t mode);
read函数
文件-----> 内存
需要用到的头文件:#include<unistd.h>
ssize_t read(inf fd, void *buf , size_t count);
参数1:fd 文件描述符
参数2:void *buf 块容器 ---- 存取从文件读出来的数据
类似与 空指针类型 — 可以变为任意一种类型(和外部传参变化)
如:char * 、int * 、 short * 、结构体 * 、数组名
参数3:count 从文件里读取指定大小字节的数据 如:100
返回值 ssize_t 返回结果:
非-1,读取成功 ------ 读取成功的字节数()0<= 返回值 <= count
-1 ,读取失败
文件操作:通过判断读取返回值,判断是否读取到文件末尾
write
close函数
int close(int fd)
返回值:
0 :表示文件顺利关闭
-1:发生错误,并置errno
lseek
待补充……