1.文件分类
文件:存储在外部介质上的集合。
普通文件 | - |
目录文件 | d |
链接文件 | l |
管道文件 | p |
套接字文件 | s |
字符设备文件 | c |
块设备文件 | b |
2. 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);
函数的参数:
const char *pathname:要打开的文件名
int flags:打开的方式
O_RDONLY 只读模式
O_WRONLY 只写模式
O_RDWR 读写模式
O_CREAT 不存在则创建
O_TRUNC 存在则清空
mode_t mode:创建文件时候给的权限 0777 所有权
函数的返回值:
成功返回 文件描述符
失败返回 -1
ps:1:假如不确定文件是否存在,优先使用三个参数的open;
2:确定文件是存在的,可以考虑使用两个参数的open;
在Ubuntu中可以使用"man 2 open"即可查看open函数的详细内容:
3. read函数
函数的功能:打开文件
函数的头文件:
#include <unistd.h>
函数的原型:
ssize_t read(int fd, void *buf, size_t count);
函数的参数:
int fd: 文件描述符
void *buf: 读取到内容存放的缓冲区
size_t count: 要读取到的字节数
函数的返回值:
成功返回 成功读取的字节数
失败返回 -1
在Ubuntu中可以使用"man 2 read"即可查看read函数的详细内容:
4. write函数
函数的功能:向文件里写入内容
函数的头文件:
#include <unistd.h>
函数的原型:
ssize_t write(int fd, const void *buf, size_t count);
函数的参数:
int fd: 文件描述符
void *buf: 缓冲区
size_t count: 要写入的字节的长度
函数的返回值:
成功返回 成功写入的字节数
失败返回 -1
在Ubuntu中可以使用"man 2 write"即可查看write函数的详细内容:
5. close函数
函数的功能:关闭文件
函数的头文件:
#include <unistd.h>
函数的原型:
int close(int fd);
函数的参数:
int fd:文件描述符
函数的返回值:
成功返回 0,表示关闭成功
失败返回 -1
在Ubuntu中可以使用"man 2 close"即可查看close函数的详细内容: