版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十二章文件,把握四大读写函数的操作和选择原则;本章的教学目标是把握文件的概念、定义形式、分类;喀呖声把握文件的读写概念;把握开放式函数fopen ()的定义形式和操作方式;喀呖声关闭函数fclose () 的定义形式和操作方式,公文处理函数,文档,本章的教学重点:本章的教学难点:对文档进行不同操作的函数的功能及其用法,文档的基本概念,文档类型指针,文档操作的基本方法,教学塔斯克,习语言文档的概要, 文档指针1 .文件:保存在外部介质中的数据的集合将该数据集合的名称称为“文件名”,2 .文件内容: 1字符(字节)序列,由1字符(字节)的数据序列构成。 文件的网站数据库以字符(字节)为单位进行,
2、称为流式传输文件。 3、文件的存储形式:文件名文件的内容,1、文件的概要,4、文件的分类,ASCII查询密码文件(文本文件):按文件的每个字节放置ASCII查询密码,表示1个字符。 二进制文件:将内存内的数据以内存内的保存形式直接输出到文件。文件概要、二、文件操作、文件概要、文件打开:从磁盘读取文件名等目录查询信息存储到结构中,关闭文件:刻录光盘内存结构文件名等目录查询信息,写入文件:从文件读取内容,三、文件的结构类型是系统定义的“文件”。 有些c版本在stdio.h文件中定义如下: typedef struct int _fd; /*文件编号*/int _cleft; 留在缓冲区中的字符*/
3、int _mode; /*文件操作定模式*/char *_nexttc; /*下一个字符位置*/char *_buff; /*文件缓冲区的位置* /文件; 二、定义FILE类型的指针变量、文件指针、FILE类型的指针变量定义方法、FILE *指针变量名称,如: FILE *fp; 意义: fp是指向FILE型结构的指针变量。 喀呖声,可以指向包含fp的文件中的结构变量,并且可以从该结构变量的文件信息中将其网站数据库到该文件中。 文件打开和关闭,1,文件打开函数fopen ()函数,1,调用方式:FILE *fp; fp=fopen (文件名、文件的使用方法); fp自定义文件类型指针变量,文件
4、名:要打开的文件名。 必须是用双引号括住的字符串常量。 文件的使用方法:具有特定意义的符号。 必须用双引号括起来。 2、功能:以指定的方式打开指定的文件,如果操作成功则返回指向该文件的指针,如果打开文件时发生错误则返回NULL。 例如FILE *fp; fp=fopen(stu.dat,r ):3,文件的使用方法:a .基本方式字符(单独使用是对文本文件) :b .以二进制形式读写文件(基本方式字符“b”),b辅助说明,以二进制形式读写文件。 例如: fp=(“stu.dat”、“rb”); 辅助说明,并可对云同步进行文件的读取和写入。 例如fp=(“stu.dat”、“r”),c .云同步进
5、行读写文件(基本方式字符“b”),例如#include main() FILE *fp; 打印机(文件没有打印)。打印机(文件)。 文件打印ok! ); fclose(fp ); 常用这种方法打开文件。 exit函数的功能是关闭所有文件并结束堆计程仪程序的执行。 exit(0)是正常结束计程仪程序,程序执行结果:光盘上存在文件stu.dat时,文件open ok! 的双曲馀弦值。 否则,屏幕上将显示“file not found”。二、文件关闭函数(fclose函数),一、调用方式: fclose (文件指针),二、功能:关闭由文件指针指定的文件,将缓冲器内的数据(缓冲器未满的数据)输出到盘,
6、例如: FILE *fp; FP=fopen (“输出数据”)/*读写操作定*/fclose(fp ); 注意: fopen和fclose函数始终成对显示。 如果没有fclose函数,部分数据将丢失!1、1文字操作的读写函数。 两个这些个函数是以字符为单位读写文件的函数。1. fputc函数、一般调用格式:fputc (字符常数或变量、文件指针); 功能:将指定字符保存到文件指针指向的文件中。 如果输出失败,则返回EOF(-1 )。 例如: fputc(ch,fp ); (其中,ch为字符变量,fp为文件指针)表示将ch的值输出至fp所指向的文件。 (EOF是stdio.h文件中定义的符号常数
7、,值为-1)、文件的读写、2. fgetc函数、一般调用形式:字符变量=fgetc (文件指针); 功能:从文件指针指向的文件中读取分配给指定字符变量的字符。 有文件终端查询密码时,返回文件终端标志EOF(-1 )。 例如: ch=fgetc(fp ); 其中,ch为字符变量,fp为文件指针。 意思:从fp指向的文件中读取字符代入字符变量ch。 读例:计程仪报。 包括stdio.h #定义空0主()文件* FP。 计数=0; 卡拉c; if (FP=fopen (文件. txt、r )=空)打印机(cantopenfilen )。 exit(0); c=调整(FP ); 威尔!=eof )计数
8、; c=调整(FP ); 打印机(计数=% dn,计数); fclose(fp ); 如果文件file.txt的内容是: abcd1234ABCD,则输出结果:12,这是读取一个文本文件的字符,判断该文件是否结束的一般方法,2,是字符串的读写函数,这些个2个函数以字符串为单位进行缓存调用格式:fputs (字符串、文件指针); 1. fputs函数、功能:在指定的文件中输出字符串。 例如: fputs(str,fp ); (其中str是字符数组名称)表示将str字符串输出到fp指向的文件。 2. fgets函数、fgets (字符串、字符串长度、文件指针); 功能:从指定的文件读取字符串。 例
9、如: fgets(str,n,fp ); (其中,str为字符数组名)表示从fp指向的文件中读取长度为n-1的字符串,最后加0保存到字符数组str中。调用形式:三、数据标签摇滾乐的读写函数、调用形式:buffer:对于指针(起始地址) fread来说是读取数据的存储地址对于fwrite来说是输出数据的地址、size :count: 功能:对于fp指向的文件,读写buffer指向的size*count个字节数据。 例如,前(f,4,2,fp ); (其中f是实数数组名),并且第一阵列a被写入到文件fa中。 从fa读取数组b。 包括stdio.h主()文件* FP; inta100=1、5、6、7
10、8、21、34、67、87、23、b100、I。 FP=开放(tmp、wb ); 写入(a、尺寸(a )、1、fp );/*写入(a,尺寸(int ),100,fp ); */fclose(fp ); FP=开放(tmp,rb ); 反射(b,尺寸(a ),1,fp ); 法(推(),i=0; i10; 打印机(m,bi ); fclose(fp ); 四、格式读写函数、这些个两个函数是进行格式读写文件的函数。 调用形式:例如fprintf(fp,“%d,%6.2f”,I,x ); 功能:以指定的格式将数据写入指定的文件。 或者,从指定的文件以格式输入数据。 此外,fscanf(fp、“%d、
11、%f”、1. rewind函数、调用格式:rewind (文件指针); 功能:将位置指针移到文件的开头。 2. fseek函数,调用格式:fseek (文件指针,片偏移量,起点); 起点:用0、1、2或其对应的名称SEEK_SET、SEEK_CUR、SEEK_END替换,分别表示文件起点、文件当前位置、文件末尾。 片偏移量:相对于起点向前(-)或向后移动的字节数。 ANSI C标准规定在数字的末尾加上l表示长型。文件的定位和错误检查、功能:将文件的读写位置指针移动到指定的位置。 例如: fseek(fp、128L、SEEK_SET ) :将位置指针移动到离开文件标头128字节的位置。 例如:
12、fseek(fp,-10L,2 ); 将位置指针从文件末尾向前移动10个字节。 注意: fseek函数通常用于二进制文件。 3. ftell函数,调用格式:ftell (文件指针); 功能:返回文件位置指针的当前值。 例如: pos=ftell(fp ); 获取fp指向文件的当前读取/写入位置,将该值分配给变量pos。 ferror ()函数ferror ()函数确定执行操作系统文件时是否出现错误。 其函数的原型为int ferror(FILE *fp ); 如果ferror ()函数的上限值为0,则表示之前的文件操作成功。否则,如果返回非0的值,则表示最后一个文件操作发生错误。 由于将为文件
13、的每个I/O操作创建一个新的错误查询密码,因此必须在文件操作后立即调用ferror ()函数以确定此操作是否成功。 不那样做的话,信息会丢失。 表示上述功能常用的语言是:if (ferror (FP ) ) printf (filecannoti/on ); fclose(fp ); exit(0); 5. clearer ()函数clearer ()函数的函数原型是void clearer (文件* FP ); 功能是清除(设定为0 )文件结束标志和文件错误标志。 这个函数没有门值。 6exit函数文件发生错误时,为了避免数据塔罗斯,可以正常进入执行操作系统,调用过程控制特罗尔函数exit关
14、闭文件,结束程序计程仪程序的执行。 一般形式为exit(status ); 创建从data.dat文本文件中读取字符,然后将其加密法并写入data1.dat文件的程序计程仪。 加密法方式是在字符的ASCII查询密码上加1。 解析:首先打开data.dat文本文件,创建data1.dat文件,从前者读取字母c,将与名为(c 1)%6的ASCII查询密码对应的字符写入后者。 直到读完。综合实例、#include void main() FILE *fp、*fp2; 卡拉c; if(fp=fopen(data.dat,r ) )=空打印(无法打开文件n ) :返回; 无法创建if(fp1=fopen
15、(data1.dat ),w )=null )打印机(文档n )。 返回; 威廉(! 法定(FP ) c=法定(FP ):c=(c1) % 6; fputc(c,fp1); fclose(fp ); fclose(fp ); 创建用于存储商品信息的数据文件goods.dat的程序计程仪。 众所周知,每件商品有名称、单价、进货量、库存四个数据。 以指定格式读写.集成索引、#include main() int count、amount、stock; 浮动价格; 卡尔名称20; 文件* FP; 打印机,打印机,打印机,打印机。打印机。 exit(0); for (计数=0; 计数) fprintf
16、 (“% d”,计数1 ); 扫描(“% s % d % d”)、名称、关闭(FP ); fp=fopen(“goods.dat”、“Rb”) :打印(“overstock goods is : n”):while (! feof(fp) fscanf(fp, %s%f,%d,%d ,name,本章主要介绍文件的定义和文件的打开、关闭、读写操作的函数表示。 在学习过程中,本章的以下知识要点应紧密结合: (1)对文件的操作包括文件的打开、关闭、阅读、书写、文件定位和错误验证等。 本节介绍在习语言中使用fopen ()函数打开文件的操作。 其一般的调用方式用fopen (文件名、操作方式)的闭合文件用函数fclose ()函数实现,其调用方式用fclose(fp )的文件读取函数用fgetc ()函数、fgets ()函数、fread ()函数实现fgetc ()函数的功能是从指定文件读取字符。 fgets ()函数的功能是从文件指针指向的文件读取字符串。 fscanf ()函数是格式输入函数,具有从指定文件读取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学临床“三基”训练试题集附答案
- 2026年成考专升本《生态学基础》基础习题与答案
- 2026年食品安全培训考试考试练习题及答案
- 2026年消防常识知识竞赛题库及答案
- 2026年《医学影像学》试题库附答案
- 2026年高压电工考试题库及高压电工模拟考试附答案
- 2026湿地松林业生态增氧净化水源涵养三项功能评价报告
- 2026年电子商务商品管理实务模拟试卷及参考答案
- 2026年建筑工程三级安全教育考试卷测试题(配有答案)
- 2026中国网络游戏行业市场活跃度分析竞争研究发展趋势规划报告
- 2026河北邢台市应急管理宣传教育培训中心招聘劳务派遣工作人员5名笔试备考题库及答案详解
- 2026年福建省乡总贸易有限公司员工招聘1人笔试模拟试题及答案详解
- 2026年第十四师昆玉市事业单位面向师市在岗服务“三支一扶”人员开展专项招聘(14人)笔试备考试题及答案详解
- 英语()浙江Z20名校联盟(浙江名校新高考研究联盟)2026届高三第一次联考(8.21-8.23)
- 2026年广东省中考数学试卷(含详细答案解析)
- 山西留神峪“5·22”特大爆炸案矿难追责落地
- 2026-2030中国建筑机器人行业市场深度调研及发展趋势与投资前景研究报告
- 中国哲学简史
- 快递柜安全管理制度
- 2025-2025苏教版三年级数学上册《认识几分之一》省级公开课教案
- 初中道德与法治案例分析教学探索:人工智能辅助数字化学生评价结果可视化策略研究教学研究课题报告
评论
0/150
提交评论