1. 文件 I/O
Linux/Unix 上的通用 I/O 模型,并主要关注磁盘文件的 I/O 操作
概述
文件描述符
用途
POSIX 名称
stdio 流
通用 I/O
open 打开文件
#include <sys/stat.h> // 文件属性信息结构体的相关申明
#include <fcntl.h> // 文件操作的相关声明
/*
@brief 打开一个文件
@param pathname 要打开文件的路径,如果是符号链接会解引用
@param flags 位掩码,指定文件访问模式
@param mode 可忽略,标识文件的所有权限,一般在创建文件时使用
- S_IRUSR | S_IWUSR 属主的读写权限
- S_IRGRP | S_IWGRP 数组的读写权限
- S_IROTH | S_IWOTH 其它的去写权限
@return 成功返回文件描述符,失败返回 -1
*/
int open(const char *pathname, int flags, ... /* mode_t mode*/);read 读取文件内容
write 写入文件
close 关闭文件
lseek 改变文件偏移量
深入探究文件 I/O
文件控制 fcntl
文件描述符与文件的关系
复制文件描述符
特定偏移量处的 I/O
分散输入和集中输出
截断文件
非阻塞 I/O
/dev/fd 目录
创建临时文件
文件 I/O 缓冲
文件 I/O 内核缓冲
stdio 库的缓冲
控制文件 I/O 的内核缓冲
直接 I/O
混合系统调用与库文件 I/O
最后更新于