华中科技大学光电子学院C语言课件第九章.ppt

华中科技大学光电子学院C语言课件第九章.ppt

ID:49730492

大小:129.50 KB

页数:16页

时间:2020-02-27

华中科技大学光电子学院C语言课件第九章.ppt_第1页
华中科技大学光电子学院C语言课件第九章.ppt_第2页
华中科技大学光电子学院C语言课件第九章.ppt_第3页
华中科技大学光电子学院C语言课件第九章.ppt_第4页
华中科技大学光电子学院C语言课件第九章.ppt_第5页
资源描述:

《华中科技大学光电子学院C语言课件第九章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章文件§1.概述文件:指存储在外部介质上(如磁盘)数据集合。二进制文件:将内存中的数据按其在内中的存储形式原样存入磁盘上。文本文件:以字符为单元。且具有行(’’)结构的文件中。(又称ASCII码文件)C语言对文件的I/O处理都是通过库函数完成。标准I/O函数是C语言与操作系统接口。文件种类1高层I/O函数:getchar()fprintf()putchar()fcanf()printf()getc()scanf()putc()fgetc()fputc()低层I/O函数:read()write()open()close()

2、操作系统内核用低层的I/O函数可以编制高层I/O函数的功能2文件处理和步骤:操作:建立文件,打开文件,读与写文件及关闭文件5种基本操作。步骤:打开存在的文件:建立文件指针或文件描述符与外部文件的联系。读或写文件的内容:通过文件指针或描述符进行读或写操作。关闭已打开的文件:切断文件指针或文件描述符与外界文件之间的联系3§2.利用标准函数处理文件一.文件指针标准I/O函数通过操作FILE类型(在中定义的结构类型)的指针(称为文件指针)实现对文件的存取。三个标准文件指针:stdin—标准输入文件指针:指向从键盘输入文

3、件的指针stdout—标准输出文件指针:指向从屏幕输出文件的指针stderr—标准错误输出文件指针:指向从屏幕输出错误文件的指针。注:启动程序时,标准输入,输出,错误输出文件被自动打开。4一.文件的打开与关闭1.文件的打开函数fopen形式:FILE*fopen(文件名,使用文件方式)其中:文件名:用双引号括起来,包括文件路径名,文件名或扩展名。文本文件“r”打开用于读的文本文件“w”打开或创建用于写的文件。“a”在文件的尾部进行追加数据,打开或创建用于写的文本文件。“r+”打开用于更新的文本文件(既读又写)“w+”创建用于更新

4、的文本文件(既读又写)二进制文件“rb”打开用于读的二进制文件。“wb”打开(创建)用于写的二进制文件。返回值:打开成功返回一个指向打开文件的指针;失败则返回NULL.例:if((fp=fopen(“C:ABfile1.c”,”r”))==NULL){printf(“can’topen%s”,“file1.c”);exit(0);/*终止程序执行,返回操作系统,且自动关闭打开的文件*/}2.文件的关闭fclose函数。形式:fclose(文件指针)返回值:出错返回EOF,否则返回0EOF在stdio.h中定义为-1三.

5、字符文件的读与写1.文件的读函数fgetc形式:ch=fgetc(fp);其中:fp为文件指针变量,ch为字符型变量。功能:从指定文件读入一个字符。该文件必须是以读或读写方式打开。返回一个字符,(若遇文件结束符EOF时,返回EOF(-1))2.文件的写函数fputc形式:fputc(ch,fp);/*ch:为一个字符常量或字符量*/功能:把一个字符写到磁盘文件中,返回值一个字符,失败为EOF7四.举例例1:收从键盘输入的一串字符(以”#”号结束),写到文件C:AB.TXT文件中(建立文件)#includema

6、in(){FILE*fp;charch,filename[10];scanf(“%s”,filename);if((fp=fopen(filename,“w”))=NULL){printf(“cannotopenfile”);exit(0);}ch=getchar();while(ch!=‘#’){fputc(ch,fp);ch=getchar();}fclose(fp);}8例2:将一个磁盘文件中的信息(字符文件)复制到另一个文件中#includemain(){FILE*in,*out;charinfil

7、e[10],outfile[10];printf(“Enterthefilename10:”);scanf(“%s”,infile);printf(“Entertheoutfilename10:”);scanf(“%s”,outfile);9if((in=fopen(infile,“r”))==NULL)/*若是处理二进制文件则要将”r”改为”rb”*/{printf(“cannotopeninfile”);exit(0);}if((out=fopen(outfile,“w”))==NULL)/*”w”改为“wb”*

8、/{printf(“cannotopenoutfile”);exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}10例3.利用命令行参数将一个文本文件file.c拷贝到文

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

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

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