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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(业务14C语言程序设计-11-文件PPT资料.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

业务14C语言程序设计-11-文件PPT资料.ppt

1、/文件操作方式 char *_next;/文件当前读写位置 char *_buff;/文件缓冲区位置FILE;文件类型指针指针变量说明:FILE *fp;用法:文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件文件关闭后,它的文件结构体被释放11.3 文件的打开与关闭&C文件操作用库函数实现,包含在stdio.h中&文件使用方式:打开文件-文件读/写-关闭文件&系统自动打开和关闭三个标准文件:标准输入-键盘 stdin标准输出-显示器 stdout标准出错输出-显示器 stderr打开文件fopen函数原型:FILE *fopen(char *n

2、ame,char*mode)功能:按指定方式打开文件返值:正常打开,为指向文件结构体的指针;打开失败,为NULL要打开的文件名使用文件方式例 文件打开与测试 FILE *fp;fp=fopen(“aa.c”,“w”);if(fp=NULL)printf(“File open error!n”);exit(0);例 FILE *fp;fp=fopen(“c:exampletest.dat”,”r”);char *filename=“c:exampletest.dat”fp=fopen(filename,”r”);“r+/rb+”(读写)“a/ab”(追加)“w/wb”(只写)“r/rb”(只读)

3、“w+/wb+”(读写)“a+/ab+”(读写)为输入打开一个文本/二进制文件为输出打开或建立一个文本/二进制文件为读/写打开一个文本/二进制文件为读/写建立一个文本/二进制文件为读/写打开或建立一个文本/二进制文件向文本/二进制文件尾追加数据文件使用方式含义文件关闭fclose作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针函数原型:int fclose(FILE *fp)功能:关闭fp指向的文件返值:正常关闭为0;出错时,非0文件打开时返回的文件类型指针磁盘文件输出文件缓冲区输入文件缓冲区程序数据区a缓冲文件系统:fclose不关闭文件可能会丢失数据11.4 文件的读写字符I/

4、O:fputc与fgetcfputc函数原型:int fputc(int c,FILE*fp)功能:把一字节代码c写入fp指向的文件中返值:正常,返回c;出错,为EOFfgetc函数原型:int fgetc(FILE*fp)功能:从fp指向的文件中读取一字节代码返值:正常,返回读到的代码值;读到文件尾或出错,为EOF 文件I/O与终端I/O#define putc(ch,fp)fputc(ch,fp)#define getc(fp)fgetc(fp)#define putchar(c)fputc(c,stdout)#define getchar()fgetc(stdin)判断二进制文件是否结束

5、 while(!feof(fp)c=fgetc(fp);.例 文件拷贝例 从键盘输入字符,逐个 存到磁盘文件中,直到 输入#“为止#include main()FILE*fp;char ch,*filename=“out.txt”;if(fp=fopen(filename,w)=NULL)printf(cannot open filen);printf(Please input string:);ch=getchar();while(ch!=#)fputc(ch,fp);putchar(ch);fclose(fp);例 读文本文件内容,并显示#include main()FILE*fp;if(

6、fp=fopen(filename,”r)=NULL)printf(cannot open filen);while(ch=fgetc(fp)!=EOF)putchar(ch);判断文本文件是否结束feof函数原型:int feof(FILE *fp)功能:判断文件是否结束返值:文件结束,返回真(非0);文件未结束,返回0#include main()FILE*in,*out;char ch,infile10,outfile10;scanf(%s,infile);scanf(%s,outfile);if(in=fopen(infile,r)=NULL)printf(Cannot open in

7、file.n);if(out=fopen(outfile,w)=NULL)printf(Cannot open outfile.n);while(!feof(in)fputc(fgetc(in),out);fclose(in);fclose(out);数据块I/O:fread与fwrite函数原型:size_t fread(void *buffer,size_t size,size_t count,FILE *fp)size_t fwrite(void *buffer,size_t size,size_t count,FILE *fp)功能:读/写数据块返值:成功,返回读/写的块数;出错或文件

8、尾,返回0说明:typedef unsigned size_t;buffer:指向要输入/输出数据块的首地址的指针size:每个要读/写的数据块的大小(字节数)count:要读/写的数据块的个数fp:要读/写的文件指针fread与fwrite 一般用于二进制文件的输入/输出例 从键盘输入4个学生数据,把它们转存到磁盘文件中去#include#define SIZE 4struct student_type char name10;int num;int age;char addr15;studSIZE;main()int i;for(i=0;iSIZE;i+)scanf(%s%d%d%s,st

9、udi.name,&studi.num,&studi.age,studi.addr);save();display();void save()FILE*fp;int i;if(fp=fopen(d:exampleexestu_dat,wb)=NULL)printf(cannot open filen);return;i+)if(fwrite(&studi,sizeof(struct student_type),1,fp)!=1)printf(file write errorn);void display()FILE*fp;exampleexestu_dat,rb)=NULL)printf(“c

10、annot open filen);i+)fread(&studi,sizeof(struct student_type),1,fp);printf(%-10s%4d%4d%-15sn,studi.name,studi.num,studi.age,studi.addr);字符串I/O:fgets与fputs函数原型:char *fgets(char *s,int n,FILE *fp)int fputs(char *s,FILE *fp)功能:从fp指向的文件读/写一个字符串返值:fgets正常时返回读取字符串的首地址;出错或文件尾,返回NULLfputs正常时返回写入的最后一个字符;出错为E

11、OF例 从键盘读入字符串存入文件,再从文件读回显示fgets从fp所指文件读n-1个字符送入s指向的内存区,并在最后加一个0(若读入n-1个字符前遇换行符或文件尾(EOF)即结束)fputs把s指向的字符串写入fp指向的文件#includemain()FILE *fp;char string81;if(fp=fopen(file.txt,w)=NULL)printf(cannt open file);while(strlen(gets(string)0)fputs(string,fp);fputs(n,fp);if(fp=fopen(file.txt,r)=NULL)printf(cannt

12、open file);while(fgets(string,81,fp)!=NULL)fputs(string,stdout);11.5 文件的定位几个概念文件位置指针-指向当前读写位置的指针读写方式顺序读写:位置指针按字节位置顺序移动,叫随机读写:位置指针按需要移动到任意位置,叫rewind函数函数原型:void rewind(FILE *fp)功能:重置文件位置指针到文件开头返值:无例 对一个磁盘文件进行显示和复制两次操作#include main()FILE*fp1,*fp2;fp1=fopen(d:examplebkcch12_4.c,r);fp2=fopen(d:examplebkc

13、ch12_41.c,w);feof(fp1)putchar(getc(fp1);rewind(fp1);feof(fp1)putc(getc(fp1),fp2);fclose(fp1);fclose(fp2);fseek函数函数原型:int fseek(FILE *fp,long offset,int whence)功能:改变文件位置指针的位置返值:成功,返回0;失败,返回非0值文件指针位移量(以起始点为基点,移动的字节数)0 向后移动0 向前移动起始点文件开始 SEEK_SET 0文件当前位置 SEEK_CUR 1文件末尾 SEEK_END 2例 fseek(fp,100L,0);fseek(fp,50L,1);fseek(fp,-10L,2);ftell函数函数原型:long ftell(FILE *fp)功能:返回位置指针当前位置(用相对文件开头的位移量表示)返值:成功,返回当前位置指针位置;失败,返回-1L,例 磁盘文件上有3个学生数据,要求读入第1,3学生数据并显示main()int i;FILE*fp;if(fp=fopen(studat,rb)=NULL)printf(cant open filen);i3;i+=2)fseek(fp,i*sizeof(struct student_type),0);fread(&studi,sizeof(struct stude

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1