- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 C语言程序设计文件操作
1
第13章 文件操作
2
第13章文件操作
13.1 文件操作基础
13.2 文件的打开和关闭
13.3 文件的读写
13.4 文件定位
13.5 小结
3
13.1 文件操作基础
13.1.1 文件基础知识
13.1.2 文件指针
13.1.3 文件处理步骤
4
13.1.1 文件基础知识
文件是程序设计中的重要概念。所谓“文件”是指一组存储在外部介质上相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上在前面的各章中已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件(头文件)等。文件通常驻留在外部介质(如磁盘等)上,在使用时才调入内存。
(1)普通文件和设备文件
普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集 。设备文件是指与主机相联的各种外部设备,如显示器、打印机、键盘等。
(2)ASCII码文件和二进制码文件
ASCII文件也称为文本文件。C语言将文件的内容看成一个一个字符组成,这种文件在磁盘中一个字节存放一个ASCII码,即存放对应的一个字符。
5
13.1.2 文件指针
文件类型指针是“缓冲文件系统”的一个重要概念。要调用一个文件,需要知道以下信息:文件当前的读写位置、与该文件对应的内存缓冲区的地址、文件名、文件状态等。每一个文件的这些信息保留在缓冲文件系统为每个文件开辟的“文件信息描述区”中。
不同的编译系统FILE的格式有细微差别,大体格式如下:
typedef struct
{
int _fd; //文件号或通道号
int _cnt; //输入缓冲区中等待存取的字符个数
char *_ptr; //指向当前所取的字符
……
}FILE;
定义说明文件指针的一般形式为:
FILE *指针变量标识符;
6
13.1.3 文件处理步骤
在C语言中,文件的处理过程分为3步:
(1)打开文件
(2)读/写文件
(3)关闭文件
在C语言中,文件操作都是由库函数来完成的。在本章后面将陆续介绍主要的文件操作函数。
7
13.2 文件的打开和关闭
13.2.1 文件的打开
13.2.2 文件的关闭
8
13.2.1 文件的打开
打开文件就是建立文件的各种有关信息,并使文件指针指向该文件。如果是读文件,需要先确定此文件是否已存在,并将读写位置设置于文件开头。如果是写文件,需要检查原来是否有同名文件。如果有,则将该文件删除,然后建立新文件,如果原来没有同名文件,就将读写位置设置于文件开头,以便写入数据。
fopen()函数用来打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式)
9
13.2.2 文件的关闭
在使用完文件后应该关闭该文件,防止它被误用。“关闭文件”就是使文件指针变量不指向该文件,也就是使文件指针变量与文件脱离。这样,就不能再通过该指针访问文件了。
使用fclose()函数关闭文件。调用的一般形式是:
fclose(文件指针);
10
13.3 文件的读写
13.3.1 字符的输入、输出
13.3.2 字符串的输入、输出
13.3.3 格式化数据的输入、输出文件
13.3.4 数据块的输入、输出文件
13.3.5 文件状态检查
11
13.3.1 字符的输入、输出
字符输入/输出函数fgetc()和fputc()是以字符(字节)为单位的读写函数。每次可从文件读取或向文件写入一个字符。
(1)字符输入函数fgetc()
fgetc()函数的功能是从指定的文件中读一个字符,函数调用的形式为:
字符变量=fgetc(文件指针);
【例13-1】本实例演示了读取文件“li12_1.txt”并在屏幕上输出。
(2)字符输出函数fputc()
fputc()函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
fputc(字符量,文件指针);
【例13-2】本实例演示了从键盘输入一行字符并将它们写入文件,再把该文件内容输出到显示器上。
12
13.3.2 字符串的输入、输出
使用fgets()函数输入一个字符串,用fputs()可以输出一个字符串。下面介绍它们具体的使用方法。
(1)字符串输入函数fgets()
fgets()函数的功能是从指定的文件中读取一个字符串(n-1个字符)到字符数组中,函数调用的形式为:
fgets(字符数组名/字符数组指针,n,文件指针)
【例13-4】本实例演示了从“li12_1.txt”文件中读入一个含15个字符的字符串。
(2)字符串输出函数fputs()
fputs()函数的功能是向指定的文件写入一个字符
您可能关注的文档
最近下载
- 1.人教版小学三年级下册数学易错题题库(含答案解析).pdf VIP
- 新能源汽车项目可行性研究报告(参考模板范文).docx
- 《文化和旅游领域重大事故隐患判定标准》解读和案例警示教育.pptx
- 【中考地理】答题技巧与模板构建:专题04_河流水文、水系特征类(答题模板)(解析版).pdf VIP
- 《泉州海丝文化》PPT课件.pptx VIP
- 《国民经济行业分类和代码表》.doc VIP
- 落实中央八项规定精神、纠治“四风”工作调查问卷.docx VIP
- 工作绩效及薪酬激励方案执行情况及改进情况总结.pptx
- 公路日常养护费—公路日常养护费用.pptx
- 百度智能云水业大模型白皮书(2024).pdf VIP
文档评论(0)