C语言上机实验第1章

C语言上机实验第1章

ID:39891841

大小:50.00 KB

页数:21页

时间:2019-07-14

C语言上机实验第1章_第1页
C语言上机实验第1章_第2页
C语言上机实验第1章_第3页
C语言上机实验第1章_第4页
C语言上机实验第1章_第5页
资源描述:

《C语言上机实验第1章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计语言C信息与计算科学教研室GCG@STAFF.SHU.EDU.CN第九章文件§1文件§2文件类型指针§3文件打开关闭§4文件输出入§5文件定位出错检测§1文件概述文件是存储在外部介质上的数据的集合。文件由操作系统来管理。数据文件可以被其他程序共享。1、源程序文件--一般是文本文件;2、数据文件–文本文件或二进制文件。(每字符存为一字节ASC码)(内存形式存储)3、缓冲文件—通过高速缓冲读写文件。§2文件的打开和关闭1.文件类型(FILE)指针类型定义typedeffloatREAL;Floata,b;==>REALa,b;typedefstruct{charname;

2、intpay;}DATA;DATAa[100],*p=a;1.文件类型(FILE)指针文件类型定义typedefstruct{int_fd;/*文件号*/int_cleft;/*缓冲区中剩下的字符*/int_mode;/*文件操作模式*/char*_nextc;/*文件当前位置*/char*_buff;/*文件缓冲区位置*/}FILE;文件指针定义FILE类型的定义在stdio.h头文件FILE*fp1,*fp2;2.文件的打开和关闭文件打开函数fopen()用法:FILE*fopen(char*filename,char*fmode)调用方式:FILE*fp;fp=fope

3、n(“文件名”,“文件操作方式”);文件名可写成:“test.dat”或定义过chars[]=“test.dat”;则写s;或定义过char*pc=“test.dat”;则写pc;或定义过#defineff“test.dat”;则写ff.3.文件打开的方式文件操作方式可写成:“r”--读,为输入打开一个文本文件;“w”--写,为输出打开一个文本文件;“a”--添加,向文本文件尾增补内容。(rb,wb,ab;二进r+,w+,a+;新建rb+,wb+,ab+)文件打开函数fopen()如法1:fp=fopen(“file1.dat”,“w”)法2:if((fp=fopen(“fi

4、le1.dat”,“w”)==NULL){printf(“cannotopenthisfile.”);exit(0);}4.文件的关闭2、文件关闭函数fclose()用法:fclose(文件指针)如:fclose(fp);§3文本文件输入输出1.字符读写函数fgetc()2字符串读写函数fgets()fputs()3格式化读写函数fscanf()fprintf()fgetc()读字符函数从一打开的文件中读一个字符,并返回。调用格式:ch=fgetc(fp);2)fputc(charc,FILE*fp)写字符函数将字符c的内容送到fp指向的文件中去。3)feof(fp)文件

5、结束函数如果文件结束,返回1,否则返回0。1.字符读写函数例1:读一个源程序,在屏幕上显示。#includemain(){FILE*fp;charch;if((fp=fopen(“a:\my.c”,”r”))==NULL){printf(“cannotopenfile.”);exit(0);}ch=fgetc(fp);while(feof(fp)==0){putchar(ch);ch=fgetc(fp);}fclose(fp);}#includemain(){FILE*fp;charch;fp=fopen(“a:\my.dat”,”

6、w”);while((ch=getchar()!=‘’);fputc(ch,fp);fclose(fp);}例2:输入字串数据,写入一个磁盘数据文件c:my.dat。2.字符串读写函数fgets(str,n,fp)从fp指定文件读取n-1个字符送入字符数组str中返回str的首地址如:fgets(c,80,fp);fputs(str,fp)把字符串str输出到fp指向的文件中不输出‘‘如:fputs(“ABCDEFG”,fp);3.格式化读写函数在使用fopen()打开文件后,可格式化读写fscanf(FILE*fp,格式说明,输入表列);fprintf(FILE*

7、fp,格式说明,输出表列);格式说明,输入表列用法同scanf(),printf()例3:统计英文信中大写字母个数,句子总数。#includemain(){FILE*fp;charc;intk,m;if((fp=fopen(“letter.txt”,”r”))==NULL){printf(“cannotopenthisfile.”);exit(0);}k=m=0;while(fscanf(fp,”%c”,&c)!=EOF)/*文件结束符*/{if(c<=‘Z’&&c>=‘A’)/*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。