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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言12文件.ppt

1、C语言程序设计,第12章 文件,文件:存储在外部介质上数据的集合,是操作系统数据管理的单位,使用数据文件的目的 1、数据文件的改动不引起程序的改动程序与数据分离 2、不同程序可以访问同一数据文件中的数据数据共享 3、能长期保存程序运行的中间数据或结果数据,文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存

2、储形式原样存放,12.1 C文件概述,文本文件特点: 存储量大、速度慢、便于对字符操作,二进制文件特点: 存储量小、速度快、便于存放中间结果,缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区,文件处理方法,文件结构体FILE缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 FILE定义在stdio.h中 指针变量说明: FILE *fp;,typedef struct int _fd; /文件号int _cleft; /缓冲区中剩下的字符数int _mode; /

3、文件操作方式char *_next; /文件当前读写位置char *_buff; /文件缓冲区位置 FILE;,12.2 文件类型指针,C文件操作用库函数实现,包含在stdio.h 文件使用方式:打开文件文件读/写关闭文件 打开文件fopen 函数原型: FILE *fopen(“文件名”,“访问方式”),功能:按指定方式打开文件 返值:正常打开,为指向文件结构体的指针;打开失败,为NULL,要打开的文件名,使用文件方式,例 文件打开与测试 FILE *fp;fp=fopen(“aa.c”,“w”);if(fp=NULL) printf(“File open error!n”);exit(0)

4、;,例 FILE *fp;fp= fopen (“c:fengyibkctest.txt”,”r”);,12.3 文件的打开与关闭,作用:使文件指针与文件“脱钩”,释放缓冲区单元 函数原型:int fclose(FILE *fp),功能:关闭fp指向的文件 返回值:正常关闭为0;出错时为非0,文件打开时返回的文件类型指针,不关闭文件可能会丢失数据,文件关闭fclose,字符I/O:fputc与fgetc fputc 函数原型:int fputc(int c, FILE *fp) 功能:把一字符代码c写入fp指向的文件中 返值:正常,返回c;出错,为EOF,fgetc 函数原型:int fget

5、c(FILE *fp) 功能:从fp指向的文件中读取一字符 返值:正常,返回读到的字符;读到文件尾或出错,为EOF,13.4 文件的读写,函数原型:,fread(buffer, size,count,fp) fwrite(buffer,size, count,fp),功能:读/写数据块 返回值:成功,返回读/写的块数;出错或文件尾,返回0 说明: buffer: 指向要输入/输出数据块的首地址的指针 size: 每个要读/写的数据块的大小(字节数) count: 要读/写的数据块的个数 fp: 要读/写的文件指针 fread与fwrite 一般用于二进制文件的输入/输出,数据块I/O:frea

6、d与fwrite,例 float f2;FILE *fp;fp=fopen(“aa.dat”,“rb”);fread(f,4,2,fp);,for(i=0;i2;i+)fread(,例 struct student int num;char name20;char sex;int age;float score3;stud10;for(i=0;i10;i+)fread(,例12.1 程序填空:将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,#include “stdio.h” main() FILE *fp;char a4=“1234”,b6=“abcdef”;if

7、( (fp=fopen(“_”,”wb”)=NULL) exit(0)fwrite(a,sizeof(char),4,fp);fwrite(b,_,1,fp);fclose(fp); ,格式化I/O:fprintf与fscanf,函数原型:,fprintf(文件指针,格式字符串,输出表列) fscanf(文件指针,格式字符串,地址表列),功能:按格式对文件进行I/O操作 返值:成功,返回I/O的个数;出错或文件尾,返回EOF,例 fprintf(fp,“%d,%6.2f”,i,t); /将i和t按%d,%6.2f格式输出到fp文件fscanf(fp,“%d,%f”, /若文件中有3,4.5 ,

8、则将3送入i, 4.5送入t,字符串I/O: fgets与fputs,函数原型:,char *fgets(char *s,int n,FILE *fp) int fputs(char *s,FILE *fp),功能:从fp指向的文件读/写一个字符串 返值: fgets正常时返回读取字符串的首地址;出错或文件尾,返回NULL fputs正常时返回写入的最后一个字符;出错为EOF,fgets从fp所指文件读n-1个字符送入s指向的内存区, 并在最后加一个0 (若读入n-1个字符前遇换行符或文件尾(EOF)即结束),fputs把s指向的字符串写入fp指向的文件,几个概念 文件位置指针-指向当前读写位

9、置的指针 读写方式 顺序读写:位置指针按字节位置顺序移动,叫 随机读写:位置指针按需要移动到任意位置,叫 rewind函数 函数原型: void rewind(FILE *fp) 功能:重置文件位置指针到文件开头 返值:无,13.5 文件的定位,函数原型:int fseek(FILE *fp,long offset,int whence) 功能:改变文件位置指针的位置 返值:成功,返回0;失败,返回非0值,文件指针,位移量(以起始点为基点,移动的字节数) 0 向后移动 0 向前移动,起始点 文件开始 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2,例

10、fseek(fp,100L,0);fseek(fp,50L,1);、fseek(fp,-10L,2);,fseek函数,ferror函数 函数原型: int ferror(FILE *fp) 功能:测试文件是否出现错误 返值:未出错,0;出错,非0 说明 每次调用文件输入输出函数,均产生一个新的ferror函数值,所以应及时测试 fopen打开文件时,ferror函数初值自动置为0,13.6 出错的检测,函数原型: void clearerr(FILE *fp) 功能:使文件错误标志置为0 返值:无 说明:出错后,错误标志一直保留,直到对同一文件调clearerr(fp)或rewind或任何其它一个输入输出函数,clearerr函数,作业,验证上课和书上的例题 在上机作业中任选二道完成实验报告,

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


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

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

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