文章目录
- 一、文件编程
- 二、文件IO
- 2.1 文件IO重要性
- 2.2 根目录
- 2.3 文件描述符
一、文件编程
文件io:一切皆文件!(VFS)虚拟文件系统
节省成本,把所有数据抽象成文件、有效管理:文件系统
-普通文件:C库函数、API(系统调用)、d目录文件、c/b设备文件(fread、fwrite)、l链接文件(p管道文件、s套接字、f堆栈文件)
#include <stdio.h>
int main()
{
FILE *fp = fopen("/dev/input/mouse0");
int num;
fread(&num, 1, sizeof(num),fp);
printf("num = %d\n",num);
return 0;
}
用户空间:fopen
C库:实现fopen
(
API;
)
内核空间,访问文件
二、文件IO
初级IO:系统调用API
标准IO:库函数
高级IO:高级API
2.1 文件IO重要性
网络、进程、通信都需要文件IO
2.2 根目录
- bin、sbin
- dev
- etc
- lib
- usr/lib、usr/include、usr/sbin、usr/bin
- home
- root
- boot
- proc
- sys
2.3 文件描述符
相当于,每生成一个文件,就有一个id、操作这个id就是操作这个文件
类似:学号
文件ID:
- 动态分配:只要当操作这个文件时,系统才会给你分配文件描述符
- 非负整数:从3编号开始、0,1,2三个文件描述符有其他作用(stdin、stdout、stderr)
100多个API,不看demo背下来