目录
大家好!!!曳渔又来和大家分享啦~
希望可以获得大家的点赞和关注
一· 文件是什么:
这里的文件和普通的文件是不一样的,这里的文件是以硬盘为载体来存储计算机上的信息,文件可以分为很多种类型。
当你写代码后存放到堆栈上,想要再执行如删除,添加会很麻烦,这时我们使用文件会使这些指令变的更加简单,并且可以使数据变得持久话。
二·文件的分类:
在程序设计中,我们的文件一般为两种:程序文件和数据文件。
1.程序文件:
程序文件包含源程序文件(后缀为.c),目标文件(在Windows环境中为.obj),可执行程序 (在Windows环境中为.exe)。
2.数据文件:
是程序运行时读写的数据。对于本次的分享的文章就是关于数据文件的。
三·文件名:
对于一个文件来说需要一个文件标识,以便使用,就像每个人的名字一样。
文件名包含3部分:文件路径+文件名主干+文件后缀
四· 文件的使用:
文件的使用分为三步走,1.打开文件 2.读文件/写文件 3.关闭文件 (就行把大象关进冰箱分为几步一样,当然冰箱得足够大)。
1.文件指针:
每次想要对文件进行操作的时候,我们都需要使用文件指针
使用原理:
每次被使用的文件都在内存中开辟了一个相对的文件信息区 ,用来存放文件的相关信息(把比如:文件名,文件状态,文件的位置等),而这些信息都保存在一个结构体中,这个结构体是由系
统命名为——FILE,并且都是由FILE*来维护这个FILE结构体变量。
2.文件指针的使用:
FILE* pf;
3.文件的打开和关闭:
在编写程序的时候,在打开文件的同时,都会返回⼀个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系
ANSIC 规定打开文件为fopen ,关闭文件为fclose。
文件的使用方式:
文件的顺序读写:
OK 咱们来实现一个例子:
写入单个字符:(fputc)
读单个字符:(fgetc)
写入一行数据:(fputs)
读指定长度的数据数据:(fgets)
把结构体中的写入文件中:(fprintf)
以文本的形式写入
从文件中读取数据放到结构体类型中: (fscanf)
拓展:(sprintf)(sscanf)
sprintf:
将格式化的数据转化为字符串:
sscanf:
将字符串转化为格式化数据:
以二进制写入文件:(fwrite)
读取二进制的文件: (fread)
五·文件的随机读写:
就是指定我们要读写的位置。
fseek:
根据文件指针的位置和偏移量来定位文件指针
举几个例子:
ftell:
返回文件指针相对于起始位置的偏移量
rewind:
让文件指针的位置回到文件的起始位置
六·文件读取结束的判定:
feof函数:
作用:当文件读取结束的时候,判断是读取结束的原因是否是,遇到文件尾而结束
文本文件:
如果是 fgetc 时,feof 判断返回值是否是EOF
如果是 fgets 时,feof 判断返回值是否是NULL
二进制文件:
都为 fread 判断,判断返回值与读取个数的大小,如果
文本文件:
二进制文件:
总结:
OK 今天的分享就到这里了,希望这次的分享可以帮助到你们,让我们下次再见啦~
希望可以获得大家的点赞和关注,可以是博主拥有更大的动力!!!OK 再见!