(中职)C语言程序设计模块十二课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(中职)C语言程序设计模块十二课件.pptx》由会员分享,可在线阅读,更多相关《(中职)C语言程序设计模块十二课件.pptx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中中职职)C语语言程序言程序设计设计模模块块十二十二课课件件LOGO文件模块1212.1文件的概念具体说来,文件是一组相关数据的有序集合,这个数据集有一个名称,称为文件名。从用户的角度来说,可以分为普通文件和设备文件;从文件编码来说,可以分为ASCII码文件和二进制码文件。我们日常所说的文件指的是普通文件。(1)(2)(3)12.1文件的概念12.1.1普通文件和设备文件1.普通文件将数据以合法名称(文件名)保存到存储介质(如HDD、U盘等),就是普通文件普通文件名由两部分构成:文件名.扩展名C语言程序文件可包括以下三种文件:源文件(.c);目标文件(.obj);可执行文件(.exe)。12
2、.1文件的概念12.1.1普通文件和设备文件2.设备文件设备文件指的是与主机相连的各种外部设备。在计算机系统中,操作系统把外部设备当作文件来管理。(1)显示器是标准输出文件,对应的函数:printf(),putchar(),puts()。(2)键盘是标准输入文件,对应的函数:scanf(),getchar(),gets()。12.1文件的概念12.1.2ASCII码文件和二进制码文件1.ASCII码文件(1)ASCII英文为America standard code information interchange,即美国标准信息交换码。在存放时每个字符对应一个字节,用于存放对应的ASCII码。
3、例如,数5678的存储形式为(每个字符1 B,共占4 B内存长度):(2)ASCII码文件按字符显示,能读懂。C程序源文件就是ASCII码文件。(1)(2)(3)12.1文件的概念12.1.2ASCII码文件和二进制码文件2.二进制码文件二进制码文件是按二进制的编码方式来存放文件的。例如,数字5678为 int型,占2个字节(2 B),其存储形式为0001011000101111。二进制码文件虽然能在屏幕上显示,但是其内容却无法读懂。C系统在处理这些文件时,并不区分类型,都看成字符流,按字节进行处理。C系统按字节处理二进制文件,在输入/输出字符流时,其开始和结束只由程序控制而不受其他物理符号(
4、如回车符)的控制。因此,把二进制码文件也称为流式文件。12.2文 件 指 针文件指针顾名思义就是文件类型的指针。C语言在使用文件时,系统会在内存中为每一个文件开辟一块区域,用来存放文件的有关信息,如文件状态、文件名以及文件当前的位置等。这些信息保存在一个结构体变量中,结构体的名称为FILE。因此,文件指针的定义方式为:FILE*文件指针变量名;注意FILE只能是大写。例如:FILE*fp;定义了一个文件指针fp。至于FILE结构的细节,编写程序时不必关心。在C语言中,文件操作都是由库函数来完成的。本节介绍C语言的文件操作库函数。C语言常见的文件操作库函数有:fopen(),fclose(),f
5、getc(),fputc(),fgets(),fputs(),fscanf(),fprintf(),fseek(),feof()等。这些函数前面都带一个字母f,其意即为文件操作函数。它们与我们前面所学的函数不同的是:操作对象不同它们的操作对象是磁盘文件。12.3文件操作函数(1)fclose()。文件关闭函数。使用方法:fclose(文件指针名);(2)fgetc()。文件字符读取函数(读取单字符)。使用方法:字符变量=fgetc(文件指针);(3)fputc()。文件字符写入函数(写入单字符到文件)。使用方法:fputc(字符量或字符变量,文件指针);(4)rewind(文件指针)。将文件位
6、置指针返回文件头。(5)12.3文件操作函数1.功能和使用方法fopen()。文件打开函数。使用方法:文件指针=fopen(文件名,使用方式);12.3.1fopen()、fclose()、fgetc()、fputc()和rewind()函数12.3文件操作函数2.文件使用方式的符号和意义。文件使用方式的符号和意义见表12-1。表12-1文件使用方式的符号和意义12.3.1fopen()、fclose()、fgetc()、fputc()和rewind()函数12.3文件操作函数示例1:文件打开和文件字符的读取(读者可在相应位置建立相应的文件测试)。#include int main()FILE
7、*fp;char ch;if(fp=fopen(d:ysms2.c,rt)=NULL)/*通过文件指针打开d:ysms2.c的源文件,以“rt”方式打开,两个是转义字符,表示其后是文件或文件夹,如果返回的指针值为NULL(为空),表示不能打开上述文件*/printf(Can not open file!Strike any key exit!);getchar();/*从键盘输入一个字符,但不在屏幕上显示,在这里其作用为等待*/exit(1);/*上面按键后退出*/3.应用举例12.3.1fopen()、fclose()、fgetc()、fputc()和rewind()函数12.3文件操作函数
8、ch=fgetc(fp);/*从fp打开的文件中读取第一个字符并送入字符变量ch中,文件内部有一个位置指针,打开文件时该位置指针总指向第一个字节,每用fgetc()函数读取一个字符,该位置指针则后移一个字节,即位置指针总指向当前读写字节*/while(ch!=EOF)/*EOF为文件结束标志。每一个文件都有文件结束标志EOF*/putchar(ch);/*输出该字符*/ch=fgetc(fp);/*从当前位置读取字符并保存到字符变量ch中*/*while循环将使文件名为2的所有内容都显示出来*/fclose(fp);/*关闭文件,其实就是断开指针*/12.3.1fopen()、fclose()
9、、fgetc()、fputc()和rewind()函数12.3文件操作函数说明:(1)位置指针:文件内部均有位置指针。文件打开时,位置指针总指向第1个字节(字符),用fgetc()函数读取一个字符,位置指针便自动指向下一个字节。位置指针和文件指针不同,文件指针是指向整个文件的,需要定义;而位置指针是系统自动设置的,无需定义。(2)文件打开错误时,返回文件指针值为NULL。(3)文件正常关闭,fclose()函数返回值为0;关闭不正常,返回值为非0。(4)若不把fgetc()读取的字符保存到变量,则字符不会保存到内存。(5)EOF为文件结束标志。每一个文件都有一个EOF。12.3.1fopen(
10、)、fclose()、fgetc()、fputc()和rewind()函数12.3文件操作函数#include int main()FILE*fp;char ch;if(fp=fopen(2,wt+)=NULL)/*在当前目录打开名为2的文件,若没有则以读写方式建立一个名为2的文件*/printf(Open file fail!Press any key exit!);getchar();exit(1);printf(Input a string:n);ch=getchar();示例2(读者在相应位置自建文件以便测试):12.3.1fopen()、fclose()、fgetc()、fputc(
11、)和rewind()函数12.3文件操作函数while(ch!=n)fputc(ch,fp);/*把字符变量ch中的字符写入文件指针fp所指的文件中,即名为2的文件中*/ch=getchar();rewind(fp);/*rewind函数:用于把位置指针移到文件头。用法:rewind(文件指针)*/ch=fgetc(fp);while(ch!=EOF)putchar(ch);ch=fgetc(fp);/*继续从文件中读取字符*/printf(n);fclose(fp);12.3.1fopen()、fclose()、fgetc()、fputc()和rewind()函数12.3文件操作函数1.功能
12、与用法(1)fgets()从文件读取字符串函数。使用方法:fgets(字符数组名,n,文件指针);意为从文件指针所指文件中读取n-1个字符(实际就是字符串)保存到字符数组中。注意:第n个位置会自动赋给结尾符0。(2)fputs()向文件写入字符串函数。使用方法:fputs(字符串,文件指针);意为把字符串常量写入文件指针所指的文件中。注意:字符串可以是“字符串常量”“指针变量”或“字符数组名”。12.3.2fgets()和fputs()函数12.3文件操作函数2.应用举例示例1(读者在相应位置自建文件以便测试):12.3.2fgets()和fputs()函数#include int main(
13、)FILE*fp,*fm;char ch1,str112;char ch2,str212;if(fp=fopen(f:study.txt,r)=NULL)printf(Open file fail!);getchar();exit(1);/*输出原文件内容*/ch1=fgetc(fp);12.3文件操作函数12.3.2fgets()和fputs()函数while(ch1!=EOF)putchar(ch1);ch1=fgetc(fp);printf(n-n);rewind(fp);/*文件指针返回文件头*/*测试fgets()函数*/fgets(str1,12,fp);printf(%s,str
14、1);printf(n-n);/*新建test.c文件*/fm=fopen(d:test.c,wt+);if(fm=NULL)printf(Open file fail!);getchar();exit(1);12.3文件操作函数12.3.2fgets()和fputs()函数printf(Input string:n);gets(str2);fputs(str2,fm);/*把刚输入的字符串写入文件fm中*/rewind(fm);/*文件指针返回文件头*/*输出文件fm的内容*/ch2=fgetc(fm);while(ch2!=EOF)putchar(ch2);ch2=fgetc(fm);fc
15、lose(fp);fclose(fm);12.3文件操作函数12.3.2fgets()和fputs()函数示例2(读者在相应位置自建文件以便测试):#include main()FILE*fp,*fm;char ch1,str250;fp=fopen(d:1.c,rt);if(fp=NULL)printf(Open file fail);getchar();exit(1);fgets(str2,20,fp);/*将文件1.c中的前19个字符(串)读写到数组str2中*/puts(str2);/*输出这个串*/fm=fopen(d:2.c,wt+);/*在D盘新建一个名为2的文件*/fputs(
16、str2,fm);/*把str2的串读写到文件2中*/12.3文件操作函数12.3.2fgets()和fputs()函数rewind(fm);/*位置指针返回文件头*/fm=fopen(d:2.c,at+);/*以追加方式重新打开文件2*/if(fm=NULL)printf(Open file fail);getchar();exit(1);fputs(for your future,fm);/*因为文件是以追加方式打开的,所以此处是把串for your future读写到文件2的末尾*/rewind(fm);ch1=fgetc(fm);while(ch1!=EOF)/*输出文件2的内容*/p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模块 十二 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内