C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt

C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt

ID:50320447

大小:297.00 KB

页数:46页

时间:2020-03-08

C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt_第1页
C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt_第2页
C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt_第3页
C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt_第4页
C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 许薇 武青海 C语言第十二章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十二章文件信息工程学院本章通过介绍C语言文件的基本类型以及相关操作,要求掌握文件的打开、关闭,了解数据写入文件和从文件中读取的操作以及文件指针的定位,理解ASCII文件与二进制文件的不同特点。文件本章导读文件概述标准输入和输出文件的打开与关闭文件的读写文件的定位出错检测常用文件函数12.1C语言文件的概念12.1.1文件的概念与文件结构文件(file)是程序设计中一个重要的概念。文件一般指存储在外部介质上的一组相关数据的集合。一批数据是以文件的形式存放在外部介质(如磁盘)上的。例如,程序文件是程序代码的集合,数据文件是数据的集合。一批数据是以文件的形式存放在外

2、部介质(如磁盘)上的,操作系统是以文件为单位对数据进行管理的,也就是说,如果想查找存在外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。要向外部介质上存储数据也必须先建立一个文件(以文件名标识),才能向它输出数据。12.1.2文件系统的缓冲性目前C语言所使用的磁盘文件系统有两大类:一类称为缓冲文件系统,又称为标准文件系统;另一类称为非缓冲文件系统。缓冲文件系统的特点是:系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。从磁盘向内存读入数据时,则一次从磁盘文件将一些数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送给接

3、收变量;向磁盘文件输出数据时,先将数据送到内存中的缓冲区,装满缓冲区后才一起送到磁盘。用缓冲区可以一次读入一批数据,或输出一批数据,而不是执行一次输入或输出函数就去访问一次磁盘,这样做的目的是减少对磁盘的实际读写次数,因为每一次读写都要移动磁头并寻找磁道扇区,花费一定的时间。缓冲区的大小由各个具体的C语言版本确定,一般为512字节。非缓冲文件系统不由系统自动设置缓冲区,而由用户自己根据需要设置。一般把缓冲文件系统的输入输出称为标准输入输出(标准I/O),非缓冲文件系统的输入输出称为系统输入输出(系统I/O)。在C语言中,没有输入输出语句,对文件的读写都是用库函数

4、来实现的。ANSIC规定了标准输入输出函数,用它们对文件进行读写。本章主要介绍ANSIC的文件系统以及对其读写的方法。12.1.3文件访问的步骤在ANSIC中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。1.流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:typedefstruct{int_fd;/*文件位置指针*/int_cleft;/*文件缓冲区剩余字节数*/int_mode;/*文件操作模式*/char*_nextc;/*用于读/写的下一个字符位置*/char*_buff;/*文件

5、缓冲区位置指针*/}FILE;FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数如下表所示常用流式文件操作函数序号函数名称含义1fopen()打开流2fclose()关闭流3fputc()写一个字符到流中4fgetc()从流中读一个字符5fseek()在流中定位到指定的字符6fputs()写字符串到流7fgets()从流中读一行或指定个字符8fprintf()按格式输出到流9fscanf()从流中按格式读取10feof()到达文件尾时返回真值11ferror()发生错误时返回其值12rewind()复位文件

6、定位器到文件开始处13remove()删除文件14fread()从流中读指定个数的字符15fwrite()向流中写指定个数的字符16tmpfile()生成一个临时文件流17tmpnam()生成一个唯一的文件名(1)fopen()fopen的原型是:FILE*fopen(constchar*filename,constchar*mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此流相连接给此流返回一个FILE指针,参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下表文件存取模式序号读写方式含义1"r"打开,只读2"w

7、"打开,文件指针指到头,只写3"a"打开,指向文件尾,在已存在文件中追加4"rb"打开一个二进制文件,只读5"wb"打开一个二进制文件,只写6"ab"打开一个二进制文件,进行追加7"r+"以读/写方式打开一个已存在的文件8"w+"以读/写方式建立一个新的文本文件9"a+"以读/写方式打开一个文件文件进行追加10"rb+"以读/写方式打开一个二进制文件11"wb+"以读/写方式建立一个新的二进制文件12"ab+"以读/写方式打开一个二进制文件进行追加(2)fclose()fclose()的功能就是关闭用fopen()打开的文件,其原型是:intfclose(FIL

8、E*fp);如果成功,返

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

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

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