《c语言第部分》ppt课件

上传人:tia****nde 文档编号:70678429 上传时间:2019-01-17 格式:PPT 页数:19 大小:343.31KB
返回 下载 相关 举报
《c语言第部分》ppt课件_第1页
第1页 / 共19页
《c语言第部分》ppt课件_第2页
第2页 / 共19页
《c语言第部分》ppt课件_第3页
第3页 / 共19页
《c语言第部分》ppt课件_第4页
第4页 / 共19页
《c语言第部分》ppt课件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《《c语言第部分》ppt课件》由会员分享,可在线阅读,更多相关《《c语言第部分》ppt课件(19页珍藏版)》请在金锄头文库上搜索。

1、,第8章 文件系统,C语言程序设计,2,学习目标与要求,1、理解文件、文件系统、文件指针的概念 2、了解文件的分类情况,掌握文本文件与二进制文件区别 3、掌握文件的打开和关闭的含义,会合理使用各种不同的打开方式 4、掌握使用字符读写函数、字符串读写函数、数据块读写函数、格式读写函数、和定位函数对文件进行顺序或随机读写 5、能编写对文件进行处理的实用程序,C语言程序设计,3,本章要点,文件系统概述 文件的打开与关闭 文件的读写 编程举例,C语言程序设计,4,8.1 文件系统概述,文件与文件名 文件是指存放在外部存储介质上的数据集合。 为标识一个文件,每个文件都必须有一个文件名,其一般 结构为:主

2、文件名.扩展名 读文件与写文件 所谓读文件是指,将磁盘文件中的数据传送到计算机内存的操作。 所谓写文件是指,从计算机内存向磁盘文件中传送数据的操作。,在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。 如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。,C语言程序设计,5,8.1 文件系统概述,文件类型FILE 系统给每个打开的文件都在内存中开辟一个区域,用于存放文件的有关信息(如文件名、文件位置等)。这些信息保存在一个结构体类型变量中,该结构体类型由系统定义、取名为FILE。 注意:结构体类型名“FI

3、LE”必须大写。 在语言中用一个指针变量指向一个文件,这个指针称为文件指针。定义文件指针。格式如下: FILE *指针变量标识符; 例如:FILE *fp; 表示fp是指向FILE结构的指针变量,通过fp就可找存放某个文件信息的结构变量。习惯上把fp称为指向一个文件的指针。,C语言程序设计,6,8.2 文件的打开与关闭,对文件进行操作之前,必须先打开该文件;使用结束后,应立即关闭,以免数据丢失。 语言规定了标准输入输出函数库,这些函数在头文件“stdio.h”中。用fopen()函数打开一个文件,用fclose()函数关闭一个文件。 文件的打开fopen()函数 1用法: FILE *fope

4、n(“文件名“,“操作方式“); 2功能:返回一个指向指定文件的指针。 fp=fopen(“a1“, “r“);,得到三个信息:1)指要打开(或创建)的文件名 2)使用文件的方式 3)用哪一个指针变量指向被打开的文件,C语言程序设计,8,文件的关闭fcolse()函数 1) 用法: fclose(文件指针); 2) 功能:关闭“文件指针”所指向的文件。如果正常关闭了文件,则函数返回值为;否则,返回值为非。 例 fclose(fp); 3) 说明 (1)如果不能实现打开指定文件的操作,则fopen()函数返回一个空指针NULL 为增强程序的可靠性,常用下面的方法打开一个文件: if(fp=fop

5、en(“文件名“,“操作方式“)=NULL) printf(“can not open this filen“); exit(0); ,8.2 文件的打开与关闭,C语言程序设计,9,8.3 文件的读写,读文件是将磁盘文件中的数据传送到计算机内存的操作,写文件是从计算机内存向磁盘文件传送数据的操作。 文件的读写函数主要包括: 文件的字符读写函数(fgetc和fputc) 文件的字符串读写函数(fgets和fputs) 文件的格式化读写函数(fscanf和fprinf),C语言程序设计,10,文件的字符读写,1将一个字符写到文件中fputc()函数 库函数fputc() 1)用法:fputc(字符

6、数据,文件指针); fputc(ch,fp); 2) 功能:将字符数据输出到“文件指针”所指向的文件中去,同时将读写位置指针向前移动1个字节(即指向下一个写入位置)。 注意:如果输出成功,则函数返回值就是输出的字符数据;否则,返回一个符号常量EOF(其值在头文件stdio.h中,被定义为-1)。其中“字符数据”,既可以是字符常量,也可以是字符变量。,C语言程序设计,11,2从文件中读入一个字符fgetc()函数和feof()函数 库函数fgetc() 1)用法: fgetc(文件指针); fgetc(fp); 2)功能:从“文件指针”所指向的文件中,读入一个字符,同时将读写位置指针向前移动1个

7、字节(即指向下一个字符)。该函数无出错返回值。 库函数feof(): 1)用法:int feof(文件指针); 2)功能:在执行读文件操作时,如果遇到文件尾,则函数返回逻辑真(1);否则,则返回逻辑假(0)。 例如, (!feof (input)表示源文件(用于输入)未结束,循环继续。,文件的字符读写,C语言程序设计,12,例8-1 从键盘输入一行字符,把它们显示在屏幕上,同时写入当前目录下的“file1.txt”文件中。,#include void main( ) FILE *fp ; char ch; if(fp=fopen(“file1.txt“,“w“) =NULL) printf(“

8、nthis file not found or cant open!“); getch(); exit(0); ,printf(“ninput a string:“); while (ch=getchar()!=n) putchar(ch); fputc(ch,fp); fclose(fp); ,程序运行情况: input a string:China China,C语言程序设计,13,文件的字符串读写,写字符串函数fputs 原型如下: int fputs(const char *s,FILE *fp); 函数调用的形式为: fputs(字符串,文件指针); 例如:fputs(“abcd”,

9、fp); 如果操作成功,函数的返回值就是最后写入文件的字符值;否则返回EOF(-1)。,C语言程序设计,14,文件的字符串读写,读字符串函数fgets 原型为:int *fgets (char *s,int n,FILE *fp); 函数调用的形式为: fgets(字符串起始地址,n,文件指针); 例如:fgets(str,n,fp); 如果读取正常,返回读取到的字符串的首地址s;如果读到文件尾或出错,则返回NULL,C语言程序设计,15,文件的格式化读写,fprinf函数 原型: int fprinf (FILE *fp,const char *format,); 调用的一般形式: fpri

10、ntf(文件指针,格式字符串,输出表列); 如:fprintf(fp,“%d,%c”,a,ch); 该函数功能是将表达式输出到fp所指向文件中,如果操作成功,则返回值就是写入到文件中数据的字节个数;如果操作出错,则返回EOF,C语言程序设计,16,fscanf函数 原型: int fscanf (FILE *fp,const char *format,); 调用的一般形式为: fscanf(文件指针,格式字符串,输入表列); 例如:fscanf(fp,“%d,%c“, 该函数功能是从fp所指向的文件中读取数据。如果操作成功,则函数返回值就是读取的数据项的个数;如果操作出错或遇到文件尾,则返回E

11、OF。,文件的格式化读写,C语言程序设计,17,编程举例,例8-1,例8-2,C语言程序设计,18,例8-1,程序示例,编写函数long gmval(int m)。函数功能:找出大于整数m且最靠近m的回文素数,函数返回该回文素数(如果一个素数从左向右读和从右向左读其值相等,则该素数被称为回文素数)。编写main 函数,从键盘输入整数m的值,调用gmval函数得到大于整数m且最靠近m的回文素数,将m和找到的回文素数输出至屏幕并且用写文件函数保存到结果文件my1.out中,源程序名为:8-1.c。测试数据:m=20000,C语言程序设计,19,例8-2,程序示例,编写函数int find(long n1,long n2,longx)。函数功能:在n1至n2之间查找满足以下条件的整数x:x是素数并且x2的各位数字各不相同。例如,11172=1247689,1117是素数并且11172的各位数字互不相同,因此1117是满足这一条件的整数。将找到的满足上述条件的整数依次保存在x指向的数组中,函数返回x数组中的数据个数。编写main函数,函数功能:声明一个long int型数组用于保存查找结果,调用find函数查找1000至1500之间满足上述条件的整数,将查找结果输出到屏幕并用写文件函数保存到结果文件my2.out中,源程序名为:8-2.c。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号