C语言程序设计 李学军 第12章

C语言程序设计 李学军 第12章

ID:40238530

大小:504.50 KB

页数:30页

时间:2019-07-28

C语言程序设计 李学军 第12章_第1页
C语言程序设计 李学军 第12章_第2页
C语言程序设计 李学军 第12章_第3页
C语言程序设计 李学军 第12章_第4页
C语言程序设计 李学军 第12章_第5页
资源描述:

《C语言程序设计 李学军 第12章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章文件主要内容C语言文件概述文件的打开与关闭文件的读写位置指针与文件定位出错检测应用举例核心知识点文件的打开与关闭文件的读写位置指针与文件定位文件状态检测7/15/20211C语言程序设计第12章文件重点难点文件的打开、关闭及文件的读写操作文件状态检测学习目标掌握文件的打开与关闭函数fopen()和fclose()了解文件定位函数的使用方法掌握文件读写类函数的格式、功能及使用方法掌握文件出错检测函数ferror()、clearerr()的功能7/15/20212C语言程序设计第12章文件12.1C语言文件概述12.2文件的打开与关闭12.3文件的读写12.

2、4位置指针与文件定位12.5出错检测12.6应用举例7/15/20213C语言程序设计12.1C语言文件概述12.1.1文件的概念与分类1、文件的概念文件是程序设计中的一个重要概念。所谓“文件”一般指存储在外部介质上数据的集合。一批数据是以文件的形式存储在外部介质(如磁盘)上的。操作系统是以文件为单位对数据进行管理的,按名存取,也就是说,如果想找存在外部介质上的数据,必须先按文件名找到所指定的文件,然后从该文件中读取数据。要向外部介质上存储数据也必须先建立一个文件(以文件名标识),才能向它输出数据。例如,C语言源程序就是以C为后缀,存储在存储介质上的文件。运行T

3、urboC时,执行的tc.exe也是一个文件。为标识一个文件,每个文件必须有一个文件名,一般形式为:文件名.[扩展名],其中扩展名是可选的,并按类别命名,例如,C语言源程序的扩展名C,而可执行程序的扩展名是EXE,等等。文件名的命名规则,遵照操作系统的约定。例如,在MS-DOS系统下,文件名的有效字符为字母、数字和部分专用符号,文件名最大长度为8,扩展名最大长度为3。如果超长,则以最大长度截取。7/15/20214C语言程序设计2、文件分类文件有很多种,大家熟知的有文本文件、图形文件、声音文件、可执行文件等,它们有很多的分类方法。C语言把文件看作是一个字符(字节

4、)的系列,即由一个一个字符(字节)的数据顺序组成,根据数据的组织形式,文件可以分为以下两类:(1)ASCII文件ASCII文件又称为文本(text)文件,是指由字符组成的文件。字符可以是字母、数字、运算符等,每个字符通过ASCII码进行编码后存储在文件中。(2)二进制文件二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。前面提到的tc.exe就是一个二进制文件。例如,整数123,由‘1’、‘2’和‘3’这3个字符组成,它们的ASCII码分别为分别为49、50、51,所以在ASCII文件中存放的就是49、50、51这3个数,需要3个字节。在二进

5、制文件中存放的就是123,因此只要占用一个字节就行了7/15/20215C语言程序设计12.1.2缓冲文件系统与非缓冲文件系统C语言没有提供对文件进行操作的语句,所有的文件操作都是利用C语言编译系统所提供的库函数来实现。多数C语言编译系统都提供两种文件处理方式,即“缓冲文件系统”和“非缓冲文件系统”。也就是说C语言提供了两套文件操作函数来存取文件。所谓缓冲文件系统是指系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘去。如果从磁盘向内存读入数据,则一次从磁盘文件将一批数据输入到内存缓冲

6、区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(给程序变量)。7/15/20216C语言程序设计缓冲区的大小由各个具体的C版本确定,一般为512字节。这样做的好处是能减少对文件存取的操作次数。所以,它与具体机器无关是,通用性好,功能强,使用方便。所谓“非缓冲文件系统”是指系统不自动提供确定大小的缓冲区,而是由用户根据所处理的数据大小在程序中设置。因此,这种文件系统与机器有关,使用较为困难,但它节省内存,执行效率较高。在UNIX系统下,用缓冲文件系统来处理ASCII文件,用非缓冲文件系统处理二进制文件。用缓冲文件系统进行的输入输出又称为高级标准文件系统

7、或高层文件系统,用非缓冲文件系统进行的输入输出又称为低层文件系统。ANSIC标准决定不采用非缓冲文件系统,而只采用缓冲文件系统,即既用缓冲文件系统处理文本文件,也用它来处理二进制文件。也就是将缓冲文件系统扩充为可以处理二进制文件。7/15/20217C语言程序设计12.1.3文件的操作流程对文件(一般指缓冲文件)进行操作时,必须遵循以下4个步骤:(1)定义一个文件类型的指针变量:file*fp;(2)通过文件名打开文件,并为文件指针赋值fp=fopen(“文件名”,“操作方式”);(3)通过文件指针对文件进行读(或写)操作例如,调用库函数fputs()或fget

8、s()完成读写文件的工作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。