C语言二级辅导(文件操作ppt)
C二级参考资料
文件
基本概念
·文件类型—文本文件/二进制文件、文件指针 ·文件的打开和关闭 ·定位 ·文件的读/写 ·常用的库函数: 打开和关闭:fopen、fclose 文件结束判断:feof() 定位:fseek、rewind 读/写:fputc、fgetc、fputs、fgets、 fprintf、fscanf、fwrite、fread等
理解
文件操作
掌握
常用库函数
理解
2012-9-6
C二级参考资料
I/O设备输入设备 – 键盘、鼠标 – 软盘、硬盘(以文件的形式) – 串行口、并行口、USB接口、网络端口 – 扫描仪、视频采集卡、电视卡、游戏杆、话筒 – …… 输出设备 – 显示器、打印机 – 软盘、硬盘(以文件的形式) – 串行口、并行口、USB接口、网络端口 – 音箱 – …… 单纯的输入设备或者单纯的输出设备越来越少 2012-9-6 2
C二级参考资料
标准输入输出字符界面的操作系统一般都提供标准输入与输出设备 – DOS、Linux、Unix…… 一般情况,标准输入就是键盘,标准输出就是终端显 示器 – 操作系统有能力重定向标准输入与输出,比如让文件作为
标准输入(标准输出) – 这种重定向程序本身是感觉不到的
自来水厂
2012-9-6
C二级参考资料
流(Stream)水流 – “子在川上曰:逝者如斯夫” 计算机中的流的概念 – 一般称为数据流,也有叫做字节流、比特流的,还有很
具体的文件流、视频流、音频流等
时光不能倒流,但计算机中的很多流都是会倒流的 – 如果你想重新读已经读过的数据,或者要修改已经写入的数据,可以发出流控(Flow Control)命令 – 不会倒流的数据流也很多,例如网络上的数据流。网络 和数据线等介质只有很小的数据缓冲区,没有大量存储 的能力4
2012-9-6
C二级参考资料
文件(File)的概念计算机的内存容易健忘,所以数据必须保存在硬 盘、软盘、光盘和磁带等“不健忘”的外存上 这些能大量、永久保存信息的媒介,一般都以文件 的形式给用户及应用程序使用 文件 – 一般指存储在外部介质上具有名字(文件名)的一组相关
数据的集合 – 用文件可长期保存数据,并实现数据共享
程序中的文件 – 在程序运行时由程序在磁盘上建立一个文件,并通过写
操作将数据存入该文件; – 或由程序打开磁盘上的某个已有文件,并通过读操作将文 件中的数据读入内存供程序使用5
2012-9-6
C二级参考资料
文件的存放
可以建立若干目录(文件夹), 在目录里保存文件,同一级目录 里保存的文件不能同名。 对使用者而言,只要知道文件的 路径(全目录)和文件名,就能 使用该文件 – C:\home\Sunner\main.c – 这都是托OS的福
2012-9-6
C二级参考资料
文件的类型
二进制文件 – 是一种字节序列,没有字符变换 – 按照数据在内存中的存储
形式存储到文件 – 如整数127,在内存占2个字节,为0000000001111111,则文件中也存储为 0000000001111111,占2个字节
文本文件/ASCII码文件 – 是一种字符序列 – 文件中存储每个字符的ASCII码 – 如整数127在文件中占3个字节,分别存放这3个字符的ASCII码,即49,50,55
2012-9-6
C二级参考资料
文件的格式数据必须按照存入的类型读出,才能恢复其本来面貌 公开的标准格式 – 如bmp、tif、gif、jpg和mp3等类型的文件 ,有大量软件
能生成和使用这些类型的文件
也有不公开、甚至加密的文件格式 – 如Microsoft Word的doc格式就不公开,所以至今还没有Word以外的其它软件能完美地读出doc文件
2012-9-6
C二级参考资料
文件访问
基本模式 – open:打开文件
获得对此文件的指针、引用和句柄等,以证明可以使用此文件
– read:读文件参数一般指明要读多少字节,读到哪块内存。 每次调用此功能,都是接着上次调用的结束位置读(所以是个输入流)
– write:写文件参数一般指明把哪块内存的内容写入文件,要写多少字节。 每次调用此功能,都是接着上次调用的结束位置写 (所以是个输出流)
– close:关闭文件表明操作结束,不再使用此文件。 文件使用完毕必须关闭,否则影响系统性能
– seek:文件定位
随机控制流的当前位置9
2012-9-6
C二级参考资料
C语言独特的文件访问
下面介绍的函数均定义在<stdio.h>中FILE *fopen(const char *filename, const char *mode); – FILE *fp = fopen("C:\\CONFIG.SYS", "rw"); filename是文件名 – 包含路径。如果不含路径,表示打开当前目录下的文件 mode是打开方式 – 常用为"r"、"w"、"rw"和"a",分别表示只读、只写、读写和添加 – "rb"表示只读二进制文件 返回值为指向此文件的指针,留待以后使用 – 如果打开失败,返回值为NULL
2012-9-6
int fclose(FILE *fp);
C二级参考资料
文件指针(File Pointer)
FILE *fp ; – 是FILE型指针变量 – 标识一个特定的磁盘文件
typedef struct { short level; /*缓冲区‘满’或‘空’的程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如无缓冲区不读字符*/ short bsize; /*缓冲区的大小*/ unsigned char *buffer;/*数据缓冲区的位置*/ unsigned char *curp; /*指针当前的指向*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于有效性检查*/ }FILE; 2012-9-6 在stdio.h文件中定义 11
C二级参考资料
C语言独特的文件访问字符读写 int fgetc(FILE *fp); – 从fp读出一个字符并返回 – 若读到文件尾,则返回EOF
int fputc(int c, FILE *fp); – 向fp输出字符c – 若写入错误,则返回EOF,否则返回c
2012-9-6
C二级参考资料
C语言独特的文件访问字符串读写
char *fgets(char *s,int n,FILE *fp); – 特例 – fgets(buf, sizeof(buf), stdin);
int fputs(const char *s, FILE *fp);
2012-9-6
C二级参考资料
C语言独特的文件访问格式化读写 int fscanf(FILE *fp, const char *format, ...); – fscanf(fp, "%d,%6.2f", &i, &t);
int fprintf(FILE *fp, const char *format, ...); – fprintf(fp, "%d,%6.2f", i, t);14
2012-9-6
C二级参考资料
C语言独特的文件访问
按数据块读写unsigned fread(void *ptr, unsigned size, unsigned nmemb, FILE *fp); – 从fp读数据块到ptr – size是每个数据块的大小 – nmemb是最多允许写的数据块个数 – 返回实际读到的数据块个数 unsigned fwrite(const void *ptr, unsigned size, unsigned nmemb, FILE *fp); – 把ptr指向的数据块写入fp15
2012-9-6
C二级参考资料
C语言独特的文件访问
文件定位,用于文件的随机读写 – 打开的文件中有一个位置指针指示当前读写位置 – 对文件每进行一次顺序读写,文件 …… 此处隐藏:2118字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




