一、文件IO
文件IO是系统调用,是没有缓存的IO
只能在Linux系统中使用
系统调用:Linux内核中的函数接口
常用函数:open/close、read/write、Iseek
二、标准IO
标准IO是库函数,是有缓存的IO,是对文件IO的封装
既能在Windows中使用,也能在Linux中使用
库函数:对系统调用的封装
常用函数:fopen/fclose、fputc/fgetc、fputs/fgets、fread/fwrite、fscanf/fprintf、fseek/ftell、rewind
三、文件
①定义
文件是以计算机硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等
②类型
b: block 块设备文件,按块扫描设备信息的文件
c: character 字符设备文件,按字符扫描设备信息的文件
d: directory 目录文件,存放文件的文件夹
-: 普通文件,存放数据信息的文件
l: link 链接文件
s: socket 套接字文件,进程间通信
p: pipe 管道文件,进程间通信
③普通文件分类
1.ASCII码文件:
文件中的所有数据均是可以在终端显示的ASCII码字符
eg:文本文件、程序
2.二进制文件:
文件中的所有数据存在不能在终端显示的ASCII码字符
eg:图片、音视频
注意:ASCII码文件是一种特殊的二进制文件
四、man手册
man手册:linux系统提供的一种帮助手册
man的章节和目录
章节 | 目录 |
1 | 可执行文件或shell命令 |
2 | 系统调用 |
3 | 库函数 |
4 | 设备说明 |
5 | 文件格式 |
6 | 娱乐 |
7 | 杂项 |
8 | 管理员命令 |
9 | 内核 |
eg:
表示在第三章查找fopen/fprintf,一般查找函数原型,在第三章,也是经常用的一章
五、流
①流的特点
具有方向性和连续性
②三个特殊的流
操作系统默认打开
stdin:标准输入流从终端获得数据
stdout :标准输出流向终端打印数据
stderr:标准出错流向终端打印数据
③流的输入输出
缓存:行缓存、全缓存、不缓存
fputc/fgetc、fputs/fgets、fprintf/fscanf、fread/fwrite
④流的定位
fseek、ftell、rewind