带你一分钟了解文件操作

1使用原因:将数据持久化保存

2认识

<1分类

(1程序文件 .c .obj .exe
(2数据文件 .txt
(1)文本文件:ASCII码值
(2)二进制文件:不加转化
在这里插入图片描述

<2文件名

在这里插入图片描述

3操作

1>流

在这里插入图片描述
打开流->读写->关闭流
标准流
在这里插入图片描述

2>文件指针

FILE*pf指向文件信息区
在这里插入图片描述

3> 文件打开与关闭

1打开文件 FILEfopen(const charfilename,const char*mode)

打开成功返回有效指针
失败 NULL
在这里插入图片描述

在这里插入图片描述

2读写文件

顺序读写函数
在这里插入图片描述

(1)写文件
1)fputc(‘a’,pf);

fputc(‘b’,pf);
int i=0;
for(i=‘a’;i<=‘z’;i++)
fputc(i,pf);

2)fputs

在这里插入图片描述

3)fprintf

适用所有输出流
在这里插入图片描述
fprintf(pf,“%d %c %d”,a,b,c);
将内容打印到pf指向的文件中

4)fwrite

在这里插入图片描述

正确返回非负数
错误返回EOF

(2)读文件
1)fgetc(FILE*stream)

返回值为int
在这里插入图片描述

2)fgets

在这里插入图片描述
在这里插入图片描述
成功返回 *st
失败返回NULL

3)fscanf

fscanf(pf,“%s”,s.name);
在这里插入图片描述

4)fread

在这里插入图片描述
从文件中读取count个大小为size数据放到ptr中

(3)补充

sscanf 将str中的数据转化为格式化的数据存放在tmp中
sprintf将格式化的数据写到字符串str中
在这里插入图片描述
在这里插入图片描述

3关闭文件 fcolse

在当前路径下不需交代绝对路径
不在当前路径下
1)上一路径.\..\..\ 相对路径
2) 用绝对路径

4>文件的随机读写

offsetof–计算结构体成员相较于起始位置的偏移量
在这里插入图片描述
在这里插入图片描述
fseek(pf,4,SEEK_SET);
在这里插入图片描述
rewind 将文件指针重新定位到文件的起始位置

5>文件结束的判定

feof
在这里插入图片描述
文件结束原因
1遇到文件末尾
2遇到错误了
fgetc 是否为EOF
fgets 是否NULL
fread返回值是否小于要读取的个数
在这里插入图片描述
返回值为int,遇到文件末尾返回非0,否则为零

6>文件缓冲区

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值