- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第17章文件重点讲义
第17章 文件 文件也是一种数据类型,是存储在外部存储设备上的数据集合,可用于保存大量的数据。对文件的处理,主要分为打开与关闭文件、从文件中读取数据和向文件中写入数据、文件的定位、文件的检测。对文件的这些处理都是利用系统函数和指向文件类型的指针变量进行的。本章的主要内容校 C文件概述; 文件类型指针; 文件的打开与关闭; 文件的读写操作; 文件的定位; 文件的检测。 17.1 文件概述 文件是按照某个规则集合在一起保存在外部存储器上的一批数据。组成文件的数据类型可以是各种类型的数据,如整型、字符型、字符串等,也可以是程序清单等。 文件可以用于永久地保存大量的数据,存储在磁盘上的数据在计算机关闭以后仍然存在,下一次使用的时候可以从磁盘上读取文件中的数据继续处理。 17.1.1 文件名 文件名是文件的标识符,每一个文件都以一个唯一的文件名进行存储。文件名是由一组字符构成的,目录分隔符和空操作符不能出现在文件名中。 在对文件进行处理的时候必须给出文件名。文件名的一般组成如下: 盘符:路径\文件名.扩展名 例如: D:\web\teacher\PopCalendar2005\Cprograme.txt. 17.1.2 文件的类型 按文件中数据组织形式,可以把文件分为文本文件和二进制文件。 在文本文件中,存放的数据都是将其转换成对应的ASCII代码字符来存放的,该文件由一个个字符组成,每一个字节存放一个ASCII码值,代表一个字符。例如,一个整型数据-15621在文本文件中按字符存放,分别存放字符‘-’、‘1’、‘5’、‘6’、‘2’、‘1’,共占6个字节;一个单精度类型数据3.14159,分别存放的是字符‘3’、‘.’、‘1’、‘4’、‘1’、‘5’、‘9’,共占7个字节。 二进制文件中的数据都是按其二进制方式存放的,每个数据占用的字节数取决于该数据的数据类型。例如,一个整型数据-15621在二进制文件中占4个字节,单精度类型数据3.14159在二进制文件中占4个字节。 17.2 文件类型指针 文件型是一种特殊的结构体,该结构体用来存放文件的有关信息(如文件的名字、文件的状态及文件当前的位置等)。该结构体类型是由系统定义的,取名为“FILE”。对FILE这个结构体类型的定义是在stdio.h头文件中。 文件指针的定义如下: FILE *文件指针变量名; 如:FILE *fp; #include stdio.h或#include “stdio.h” 17.3 文件的打开与关闭 在C语言之中,对文件读写之前必须先打开文件,在使用以后要关闭该文件。文件的打开与关闭都是利用系统函数来实现的,通过调用文件打开函数fopen()和文件关闭函数fclose(),完成文件的打开与关闭。 17.3.1 文件打开函数fopen 文件打开函数fopen的调用格式为: FILE *fp; fp=fopen(filename,mode); 文件打开函数fopen如果打开成功,就返回一个文件类型的指针,并将赋值给文件指针变量fp,如果失败,则返回NULL。 文件打开函数fopen有两个参数,filename指定打开的文件名,mode指定文件打开的方式。 (1)文本文件的打开方式有以下几种: r:打开一个已经存在的文本文件,只能从文本文件中读取数据。如果指定文件不存在,程序就会出错。 w:打开一个文件文件,只能将数据写入文件。如果已经存在该文件名的文件,文件被重写;如果不存在,则以该文件名建立新的文件。 a:以附加方式找开文件,将数据写入文件的尾部。如果文件不存在,创建新的文件用于写入。 r+:打开一个已经存在的文本文件,可以从中读取数据,也可以写入数据。 w+:打开一个已经存在的文本文件,可以读取数据,也可以写入数据,若文件不存在,则自动建立一个新文件,接受写入的数据;若文件存在,则删去旧文件,建立一个同名新文件,接受写入的数据。 a+:打开一个已经存在的文本文件,可以读取数据,也可以从当前文件的尾部追加写入数据。当文件不存在时,创建新的文件用于文件尾写入。 (2)二进制文件的打开方式有以下几点: rb:打开一个已经存在的二进制文件,只能从二进制文件中读取数据。如果指定文件不存在,程序就会出错。 wb:打开一个二制制文件,只能将数据写入文件。如果已经存在该文件名的文件,文件被重写;如果不存在,则以该文件名建立新的文件。 ab:打开一个已经存在的二进制文件,只能从当前文件的尾部追加写入数据。如果文件不存在,创建新的文件用于写入。 rb+:打开一个已经存在的二进制文件,可以从中读取数据,也可以写入数据。 wb+:打开一个已经存在的二进制文件,可以读取数据,也可以写入数据,若文件不存在,则自动建立一个新文件,接受写入的数据;若文件存在,则删去
文档评论(0)