欢迎来到天天文库
浏览记录
ID:50043746
大小:1.21 MB
页数:58页
时间:2020-03-08
《C语言程序设计 教学课件 作者 蔡启先第10章 文件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章文件10.1文件概述10.2文件的打开与关闭10.3文件的读写操作第10章文件目录10.4文件的定位10.5出错检测10.6综合示例10.1文件概述10.1.1C语言操作文件10.1.2文件类型指针10.1文件概述2.文件的分类10.1.1C语言操作文件从文件数据的组织形式来看,C语言把文件分为ASCII文件和二进制文件。文件(file)是指计算机外部存储介质(磁盘、磁带等)上建立的一组有序的数据集合,是数据的一种组织形式。1.文件的概念10.1文件概述10.1.1C语言操作文件3.文件的处理方式C语言编译系统提供两
2、种文件处理方式:即“缓冲文件系统”和“非缓冲文件系统”。例如:用C语言书写的源程序文件,用MicrosoftOfficeWord程序创建的文件是文本文件,C程序的目标文件和可执行文件是二进制文件。10.1文件概述10.1.1C语言操作文件内存外存数据区输出缓冲区输入缓冲区磁盘“缓冲文件系统”在对文件操作时,系统自动开辟一个内存缓冲区来输入和输出数据。10.1文件概述10.1.2文件类型指针文件指针具体申明如下:typedefstruct{int_fd;/*文件号*/int_cleft;/*缓冲区剩余字节数*/int_mode
3、;/*文件操作模式*/char*_nextc;/*下一个字节地址*/char*_buff;/*文件缓冲区起始地址*/}FILE;注意:当对文件操作时,应首先定义文件指针变量,如:FILE*fp;10.2文件的打开与关闭10.2.1文件打开(fopen函数)10.2.2文件的关闭(fclose函数)10.2文件的打开与关闭★在对文件进行操作时,都必须遵循以下三个步骤:(1)打开文件。(2)文件处理(包括读文件,写文件等)。(3)关闭文件。这三个步骤的实现都是通过标准库函数实现的。10.2文件的打开与关闭10.2.1文件打开(f
4、open函数)fopen()函数调用形式为:FILE*fp;fp=fopen(文件名,操作方式);例如:fp=fopen(“c:\myfile.dat”,“r”);说明:如果文件的打开操作成功,则返回类型为指向FILE类型的指针并赋值给指针变量fp,如果失败,则fopen函数返回空指针NULL。10.2文件的打开与关闭10.2.1文件打开(fopen函数)文件的打开方式文件操作方式含义“r”读方式打开文本文件“w”写方式打开文本文件“a”向文本文件尾添加数据“rb”读方式打开二进制文件“wb”写方式打开二进制文件“ab”向
5、二进制文件尾添加数据“r+”读/写方式打开文本文件“w+”读/写方式建立文本文件“a+”读/写方式打开本文文件“rb+”读/写方式打开二进制文件“wb+”读/写方式建立新二进制文件“ab+”读/写方式打开二进制文件说明:语句中fp为文件打开时获得的文件类型指针。当对文件操作完成后,应当关闭文件。不关闭文件在程序编译阶段是检测不出来的,因此,应牢记在使用文件完毕时应关闭文件。10.2文件的打开与关闭10.2.2文件的关闭(fclose函数)fclose()函数调用形式为:fclose(文件指针);例如:fclose(fp);1
6、0.3文件的读写操作10.3.1字符读写函数10.3.2数据块读写函数10.3.3格式化文件读写函数10.3.4fputs函数和fgets函数10.3文件的读写操作★当文件被正常打开后,才能对它进行读或写的操作。★C语言是以文件操作函数实现对文件的读写操作的。★针对ASCII文件或二进制文件,文件的读写操作函数不同。10.3文件的读写操作10.3.1字符读写函数1.fputc函数fpuc函数的功能是写一个字符到磁盘文件。其函数调用形式为:fpuc(ch,fp);说明:ch是要写入的字符,char类型,是字符常量或字符变量。1
7、0.3文件的读写操作10.3.1字符读写函数2.fgetc函数fpuc函数的功能是从磁盘中读入一个字符。其函数调用形式为:ch=fgetc(fp);例如:while(!feof(fp)){c=fgetc(fp);…}feof()函数的作用是判断文件是否结束,当文件结束时返回1,否则返回0。10.3文件的读写操作10.3.1字符读写函数例10.1:从键盘输入字符,以“$”作为结束,并将它们写入磁盘文件。#includevoidmain(){FILE*fp;charch,myfile[20];printf(“p
8、leaseinputafilename:”);scanf(“%s”,myfile);if((fp=fopen(myfile,“w”))==NULL){printf(“Cannotopenthisfile”);exit(0);}10.3文件的读写操作10.3.1字符读写函数print
此文档下载收益归作者所有