数据文件及应用(知识点)PPT课件_第1页
数据文件及应用(知识点)PPT课件_第2页
数据文件及应用(知识点)PPT课件_第3页
数据文件及应用(知识点)PPT课件_第4页
数据文件及应用(知识点)PPT课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,第7讲数据文件及应用,2,主要内容,1数据输入的运行模式2数据输出的运行模式3程序控制的输入输出文件阅读教材:第12章,3,1数据输入运行模式,运行时从键盘输入数据scanfgetchar运行时从文件输入数据输入重定向sample07_04_1sample07_04_1result.txt程序控制输入文件数据/存放最大值intx;/存放输入数FILE*fin;/文件指针输入FILE*fout;/文件指针输出/打开输入文件if(fin=fopen(input.txt,r)=NULL)printf(cannotopenfileinput.txt!);return-1;/打开输出文件if(fout=fopen(result.txt,w)=NULL)printf(cannotopenfileresult.txt!);return-1;/读入第一个数,假定为最大值maxif(!feof(fin)/非空文件fscanf(fin,%d,/循环:当文件不为空(非0)-真while(!feof(fin)/读入下一个数到xfscanf(fin,%d,sample07_04_3.cpp,7,3程序控制的输入输出文件,文件文件指针打开文件格式化读取文件数据文件结束标识测试格式化写数据到文件关闭文件,8,文件的概念,文件:保存在外存储器上的一组数据的有序集合。特点:数据长久保存数据长度不定数据按顺序存取,9,文本文件和二进制,语言中的文件形式是流式文件(数据流)该类文件具有两种数据形式:ASCII码(文本文件textstream)字符流二进制码(二进制文件binarystream)二进制流二进制文件内存数据直接以二进制形式保存。,10,12.1.4缓冲文件系统,内存,数据,缓冲区,512字节,文件,由操作系统自动完成,程序控制,由于磁盘读写速度慢直接把数据写到磁盘效率很低,数据块,内存,外存,11,缓冲文件与文件类型指针,用文件指针指示文件缓冲区中具体读写的位置FILE*fp;,fp,注:同时使用多个文件时,每个文件都有缓冲区,用不同的文件指针分别指示。,12,文件(类型)指针,文件指针一般定义形式:FILE*文件指针FILE*fp;/定义文件指针变量fp一个文件指针用于控制一个文件的打开、读、写、关闭等操作,13,打开文件,打开文件为文件指针赋值:文件指针=fopen(文件名,打开方式)fp=fopen(input.txt,r);fopen()打开文件函数的形式参数:文件名:包括后缀名,可有路径表示,为字符串。建议将程序和数据文件存储在同一目录中。常用文件打开方式:read(只读)write(创建)append(追加),14,fopen()函数,返回值:打开成功返回:将文件结构地址赋给文件指针fp打开失败返回:赋NULL(空值,0)给文件指针fp为保证文件操作的可靠性If(fp=fopen(“input.txt”,”r)=NULL)printf(“Fileopenerror!n”);return-1;/或exit(-1);,15,格式化读取文件数据,fscanf(文件指针,格式控制串,地址列表)fscanf(fp,%d,16,文件数据是否读完判断函数,feof(文件指针)返回1读完返回0未读完,while(!feof(fp),17,格式化写数据到文件,fprintf(文件指针,格式控制串,变量列表)fprintf(fp,max=%d,max);将max的值写入fp所指的文件中指定位置,18,关闭文件,fclose(文件指针)fcolse(fp);fp不再指向该文件,19,实践:打开数据文件data.txt,累加其中正整数之和,将结果写在文件的尾部。,20,打开文件if(fp=fopen(data.txt,r)=NULL)printf(cannotopenfile!);return-1;读数据fscanf(fp,%d,完整程序!,关闭文件fclose(fp);再次打开文件if(fp=fopen(data.txt,a)=NULL)printf(cannotopenfile!);return-1;写数据fprintf(fp,“%d”,sum);关闭文件fclose(fp);,分析:,21,#includeintmain()intsum,x;FILE*fp;if(fp=fopen(data.txt,r)=NULL)printf(cannotopenfile!);return-1;/打开文件sum=0;/当文件不为空时从读文件中数据while(!feof(fp)fscanf(fp,%d,fclose(fp);/关闭文件if(fp=fopen(data.txt,a)=NULL)pr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论