- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章 文件操作 学习目标 课程内容 12.1 概述 1.什么是文件? 文件:存储在外部存储介质上相关数据的集合。 例如:程序文件中保存着程序,数据文件中保存着数据。 *.C C语言的源程序 文本文件 *.OBJ 目标文件 二进制文件 *.EXE 可执行文件 二进制文件 2.文件的存储特性 文件是一个有序的数据序列。C语言把文件作为一个字符(字节)序列处理,对文件的存取是以字符(字节)为单位进行的。 3.文件的分类 按文件存储数据的形式 ASCII文件(或称文本文件) 以ASCII码或者其他文字语言的交换编码存储的文件,可以直接在屏幕或者打印机输出为人们识别的信息。此种存储形式便于输出显示。 二进制文件 数据是按照在内存中的二进制存储格式存放的,此种存储形式节省存储单元。不能直接在屏幕或者打印机输出人们可识别的信息。 例如将整数1949分别存储在这两种数据文件中。 4.操作文件的一般步骤 打开文件 ? 读写文件 ? 关闭文件 12.2 文件句柄与文件打开、关闭 1.文件句柄(FILE) 每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件名,状态,当前位置等)。这些信息保存在一个结构体类型的变量中。结构体类型由系统定义为“FILE”。 2.文件句柄变量的定义 说明: 定义文件指针变量时,必须使用“FILE”类型,而且必须是大写。 “FILE”是一个保存文件有关信息(如文件名、文件状态等)的结构体变量。 应用举例 定义两个文件指针变量: FILE *fp1,fp2; FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 3.文件打开函数fopen( ) 常用的调用形式: FILE *fp; fp = fopen(文件名, 文件使用方式); 文件名:需要打开的文件名称(字符串) 。 文件使用方式:是具有特定含义的符号。 函数功能: 按指定的文件使用方式打开指定的文件。 若文件打开成功,为该文件分配一个文件缓冲区和一个FILE类型变量,返回一个FILE类型指针; 若文件打开失败,返回NULL。 4.文件关闭函数fclose() 常用的调用形式 FILE *fp; fclose( fp ); fp:已经打开的文件指针。 函数功能 关闭fp指定的文件,释放该文件的缓冲区、 FILE类型变量及文件指针。 若文件关闭成功,则返回0; 若文件关闭失败,则返回非0值。 12.3 文本文件的操作 对文本文件的操作,主要是读写操作,必须按文件中字符的先后顺序进行,只能在操作了第i个字符之后,才能操作第i+1个字符。 在对文件操作时,文件的读写指针由系统自动向后移动。 通过调用feof函数知道哪里是文件尾。 二进制文件存储信息的形式与内存中存储信息的形式是一致的,如果需要在内存与磁盘文件之间频繁交换数据,最好采用二进制文件。 二进制文件一般是同类型数据集合,数据之间无分隔符,每个数据所占字节数是一个定值,因此二进制文件除了可以顺序存取外,还可运用定位函数方便地进行随机存取。 12.5 标准文件 针对每个程序,系统为我们开了3个标准文件,它们是stdin、stdout、stderr,分别是standard input(标准输入)、standard output(标准输出)、standard error(标准出错)的缩写。 文件stdin是程序可以读取其输入的位置,缺省情况下,进程从键盘读取。 stdout是程序写入其输出的位置,除非将其定向到其他地方,否则标准输出通常出现在显示器上。 stderr是程序发出错误和特殊消息的地方,除非将其定向到其他地方,否则标准错误通常出现在显示器上。 12.5 标准文件 标准文件是外部设备中的三个特殊的设备文件。它们的文件指针是系统定义的,并由系统自动打开和关闭。这三个标准文件分别是: 标准输入文件,文件指针为stdin,系统指定为键盘。 标准输出文件,文件指针为stdout,系统指定为显示器。 标准错误输出文件,文件指针为stderr,系统指定为显示器,输出错误信息。 12.6 其他文件操作函数 除了前面的文件操作函数外,C标准库还提供了其他的文件操作函数。 功能: 将文件读写指针从whence标识的位置移动offset个字节,并将文件结束指示器清0。 若移动成功,返回0; 若移动失败,则返回非0值。 常量标识符 值 起始位置 SEEK_SET 0 文件开始位置
文档评论(0)