1、文件的基本概念
文件:存储外部介质上的数据集,数据集有一个名称就是文件名
文件的分类:
1)用户角度:普通文件和设备文件
2)存储的内容:
ascii文件(文本文件):
存储的流程:根据文本找到其对应的ascii码值---->转为二进制--> 写到文件中
读取流程: 二进制-->10进制-->找对应的字符-->显示出来
二进制文件:
二进制数据的存取
文件的操作流程:
1)导入头文件 stdio.h
2) 定义文件指针
3)打开文件
4)操作文件
5)关闭文件
2、文件指针
格式:FILE *fp; 结构体指针
作用:存储一个文件的首地址,指向一个文件
3、文件的打开和关闭
打开 fopen(文件名,操作方式);
fopen("a.txt","r");//a.txt默认的去products目录去
关闭文件:
fclose(文件指针);
4、数据块的读取和写入
写入格式:
fwrite(变量地址,数据块的大小,块数,fp);
fwrite(str,sizeof(ch),1,fp)
将str所指向文件的内容写入到fp所指向的文件中, 每次写sizeof(ch)个字节,一共写1次
读取格式:
fread(变量的地址,数据块的大小,块数,fp)
fread(str,sizeof(ch),1 fp)
将fp所指向的文件中的内容读取到str中, 每次读取sizeof(ch)个字节,一共读一次
5、文件读取方式
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,只允许读写数据。
rt+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。