文件操作
1. 文件的存储
(1) 文件主要存在磁盘(外存)上.
(2) 内存外存的区别:
内存比较小,外存比较大;
内存访问速度快,外存比较慢;
内存比较贵,外存更便宜一些;
内存如果掉电了数据就会丢失,外存掉电了数据还在;
直接操作外存不像内存那么方便,操作外存是通过"文件"方式进行操作的;
(3)一般我们通过路径来确定唯一的文件
- d:开头的路径,叫"绝对路径"
- . 或者…开头的路径,叫"相对路径",相对路径必须要指定一个当前目录,以当前目录为基础,就可以确定相对路径对应的文件了.
2. 文件类型
(1)文本文件( .c文件)
如果要求在外存上以ASCII码的形式存储,则需要在存储前转换,以ASCII字符的形式存的文件就是文本文件.
(2)二进制文件( .exe文件)
数据在内存中以二进制形式存储,如果不加转换就输出到外存就是二进制文件.
3. 文件的四个核心操作
(1)打开文件fopen
FILE* fopen(const char* filename,const char* mode)
注:此处的FILE是定义好的结构体指针,后续操作文件,就是通过FILE来操作的;FILE结构体就类似于磁盘的遥控器,操作FILE结构体就能影响盘,FILE结构体和磁盘文件具有一定的联系,这个联系是操作系统内核帮我们自动完成的.
<1> 关于fopen中的打开方式:
- 操作文本文件
" r "(只读):为了输入数据,打开一个已经存在的文本文件.
" w "(只写):为了输出数据,打开一个文本文件.
" a "(追加):向文本文件尾添加数据.