ImageVerifierCode 换一换
格式:PPT , 页数:22 ,大小:413.50KB ,
资源ID:1140640      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1140640.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第13章 文 件.ppt)为本站会员(天天快乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第13章 文 件.ppt

1、第十三章 文 件,什么是数据文件,为什么使用数据文件,如何使用数据文件,本章学习目标,理解文本文件和二进制文件的区别; 理解 FILE *fp 文件指针; 能够用函数fopen和fclose打开和关闭文件; 掌握常用的文件读/写函数;,13.1 C文件概述,文件:文件是存储在外部介质上数据的集合。,使用数据文件的目的1、数据文件的改动不引起程序的改动程序与数据分离。2、不同程序可以访问同一数据文件中的数据数据共享。3、能长期保存程序运行的中间数据或结果数据。,13.1 C文件概述, C 语言文件分为ASCII文件和二进制文件ASCII文件:也称文本文件,每个字节存放一个字符的ASCII码。二进

2、制文件:数据按其在内存中的存储形式原样存放。,13.1 C文件概述,文本文件特点:存储量大、速度慢、便于对字符操作,二进制文件特点:存储量小、速度快、便于存放中间结果,13.2 文件类型指针, 文件结构体类型 FILE每个正在使用的文件在内存中都拥有一个文件信息区。文件信息用系统定义的名为FILE的结构体描述。FILE定义在 stdio.h 中,typedef struct int _fd; /文件号 int _cleft; /缓冲区中剩下的字符数 int _mode; /文件操作方式 char *_next; /文件当前读写位置 char *_buff; /文件缓冲区位置FILE;,13.2

3、 文件类型指针, 文件类型指针定义:FILE *fp ;文件使用方式:打开文件-文件读/写-关闭文件,FILE *文件指针名,在stdio.h中定义的一种结构,可看作类型说明符,文件指针名,经过定义的文件指针,就可以用来指向一个文件!,13.3 文件的打开与关闭, 打开文件 fopen( ),FILE *fp; fp=fopen(“文件名”,“打开方式”);,例:FILE *fp; fp=fopen(“d:usermyfile.txt”,”r”);,为什么 ,Read,13.3 文件的打开与关闭,fopen( )的返回值:正常打开,返回指向文件结 构体的指针;打开失败,返回 NULL。,FIL

4、E *fp;fp=fopen(“aa.c”,“w”);if(fp=NULL) printf(“File open error!n”); exit(0);,13.3 文件的打开与关闭,r:读方式;w:写方式;b:二进制方式;a:追加方式;+:既可读又可写,r 只读 出错 正常,w 只写 建立新文件 覆盖原内容,a 追加 建立新文件 在原内容后追加,r+/w+ 读写 出错 正常,13.3 文件的打开与关闭, 文件的关闭 fclose( ),FILE *fp; fp=fopen(“a.txt”,“r”);fclose(fp);,fclose( )的返回值:用于表示文件是否被正确地关闭,如果文件顺利关

5、闭,该值为0,否则为-1(EOF)。,13.4 文件的读写,文件打开之后,就可以对它进行读与写的操作了。13.4.1 读写文件中的一个字符 fgetc() fputc()13.4.2 读写一个数据块 fread() fwrite()13.4.3 对文件进行格式化读写 fscanf() fprintf()13.4.4 读写一个字符串 fgets() fputs(),13.4 文件的读写,读入单字符的函数fgetc( )格式: ch=fgetc(fp);功能:从指定的文件读入一个字符说明: fp是文件型指针变量 ch是字符变量,FILE *fp; fp=fopen(“a.txt”,“r”); ch

6、=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fclose(fp);,EOF文件结束标志,例13.1 从键盘输入一些字符,逐个把它们送到文件中,直到输入一个“ # ”为止。,#include void main() FILE *fp; char ch ; if(fp=fopen(“out.txt”,w)=NULL) printf(cannot open filen); exit(0); printf(Please input string:); ch=getchar(); /*输入的字符被赋给变量ch*/ while(ch!=#)

7、fputc(ch,fp); /*字符被写入out.txt文件*/ putchar(ch); /*字符被输出到显示器*/ ch=getchar(); fclose(fp); /*关闭文件*/,13.4 文件的读写,写入数据块的函数 fwrite( )格式:fwrite(buffer,size,count,fp );功能:向指定文件写入一组数据(实数或结构体变量)说明: buffer: 写数据的存放的首地址 size: 每次要写的字节数 count: 写次数 fp: 文件指针,struct student int num; float score3; stud10; for(i=0;i10;i+)

8、 fwrite(,文件必须是以“二进制”打开的,例13.3 从键盘输入4个学生有关数据,把他们转存到磁盘文件中去,#include #define SIZE 4struct student_type char name10; int num; int age; char addr15;studSIZE;void main() int i; for(i=0;iSIZE;i+) scanf(%s%d%d%s,studi.name,void save() FILE *fp; int i; if(fp=fopen(d:stu_list,wb)=NULL) printf(cannot open file

9、n); return; for(i=0;iSIZE;i+) fwrite(,void display() FILE *fp; int i; if(fp=fopen(d:stu_list,rb)=NULL) printf(cannot open filen); return; for(i=0;iSIZE;i+) fread(,13.4 文件的读写,按格式对文件进行读/写的函数 fscanf( ) fprintf()格式: fscanf(fp,格式,输入列表 ); fprintf(fp,格式,输出列表 );,fscanf( fp,“%d,%f”, /*将i和t按 %d, %6.2f 格式写入到 f

10、p文件*/,void save() FILE *fp; int i; if(fp=fopen(d:stu_list,w)=NULL) printf(cannot open filen); return; for(i=0;iSIZE;i+) fprintf(fp,%s %d %d %s,studi.name, studi.num,studi.age,studi.addr); fclose(fp);,void display() FILE *fp; int i; if(fp=fopen(d:stu_list,r)=NULL) printf(cannot open filen); return; f

11、or(i=0;iSIZE;i+) fscanf(fp,%s %d %d %s,studi.name, ,小 结,在使用文件时,首先要定义一个文件指针: FILE *fp;然后通过该指针来操作相应的文件;通过fopen这个函数,使文件指针fp和相应的文件建立了联系,通过fclose函数将fp和文件的联系切断;文件可以以文本的方式打开(默认或“t”),也可以以二进制方式打开(“b”);,小 结,如果以一次一个字符的方式处理文件,需要用fgetc或者fputc函数;如果以一次一个结构体的方式处理文件,可以用函数fread和fwrite(多为二进制文件);fscanf和fprintf函数使用很广泛,应重点掌握。,THE END,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报