欢迎来到天天文库
浏览记录
ID:44276441
大小:533.50 KB
页数:23页
时间:2019-10-20
《《C语言》课件-8》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8章C的文件操作函数1.2.3.本章讲述内容:4.C语言能够处理的文件形式;C语言文件的结构类型及其指针;文件的打开和关闭函数;有关文件的读、写函数;5.有关文件的操作函数。8.1文件及文件型指针.8.1.1C的文件概念所谓“文件”,是指存储在外部设备上的、以名字作为标识的数据集合。如今大都把文件存储在磁盘上,因此统称其为磁盘文件。所谓“文本文件”,是把内存中的数据转变成相应的ASCII码值形式,然后存放在磁盘上。因此,磁盘上每个字节存放的内容是ASCII码值,表示一个字符。所谓“二进制文件”,是把内存中的数据按其在内存中的存储形式原样存放到磁盘上去。..例:考察整数2
2、008在内存中的存放,以文本文件形式在磁盘上的存放,以二进制文件形式在磁盘上的存放。(1)数值2008在内存的存储形式:(2)数值2008以文本形式在磁盘的存储形式:(3)数值2008以二进制形式在磁盘的存储形式:0000011111011000000001111101100000110010001100000011000000111000‘2’‘0’‘0’‘8’.数据按文本形式存储在磁盘上,占用的存储空间多,存储时要花费转换时间。但以这种形式存储,一个字节代表一个字符,便于对字符进行逐个处理,也便于输出显示。.数据按二进制形式存储在磁盘上时,无须花费转换时间,占用空间少
3、。但字节不与字符对应,因此不能直接输出显示。在使用C的文件操作函数时,正确指定磁盘文件所在路径非常重要。路径不对,系统就找不到文件,也就无法对该文件进行任何处理了。.C语言里,把进行输入/输出的终端设备(键盘、显示器)视为文件,统称为“标准设备文件”。最主要有3个:与键盘对应的标准输入文件;与显示屏对应的标准输出文件;与显示屏对应的标准出错信息文件。..在将输入/输出终端设备与“文件”联系起来后,从键盘上读取数据时,可用C提供的文件操作函数,改为从标准输入文件(即是键盘)里读取;往屏幕上写数据,可用C提供的文件操作函数,改为往标准输出文件(即是显示屏)里写。.所谓“缓冲文
4、件系统”,即是输出时,先将数据送到内存缓冲区,缓冲区装满后,才将整个缓冲区的内容一次写入磁盘;输入时,先把磁盘中的一块数据读入到内存缓冲区,然后再从缓冲区中把需要的数据挑出来,送到程序规定的数据区中。整个处理过程如图所示。磁盘输入输出输入文件缓冲区输出文件缓冲区输出输入程序数据区内存8.1.2C的文件结构及其指针C语言中,把文件视为是具有“FILE”结构类型的数据,系统在“stdio.h”头文件里给出了它的定义。.FILE结构类型的形式大致为:typedefstructiobuf{intfd;/*文件描述符*/intmode;/*文件操作模式*/intcleft;/*文件
5、缓冲区剩余字节数*/char*nextc;/*下一个待处理字节地址*/char*buff;/*文件缓冲区首地址*/}FILE;.C语言中的每个文件,都有一个FILE型结构变量与之对应,只要知道其地址,就可通过它里面记录的信息,实现访问这个文件的目的。所以,指向FILE型结构变量的指针(简称“文件指针”)对于文件的使用是极其重要的。..程序中可通过下面的方法来说明变量fp是一个文件指针:FILE*fp;把某个文件的FILE结构变量地址赋给它后,就在这个文件和文件指针fp之间建立起了联系,C语言就把这个指针作为该文件的标识,在程序中就可通过fp来访问这个文件了。8.2.1文件
6、打开函数:fopen()8.2文件的打开与关闭函数所谓“打开文件”,即是建立起某个文件与一个FILE变量的联系,使得能够通过这个FILE变量,对该文件进行输入或输出操作。..所谓“关闭文件”,即是切断文件与所对应FILE变量的联系,从而不能进行输入或输出操作。文件打开函数fopen()的函数头格式是:.FILE*fopen(<文件名>,<文件操作模式>)其中<文件名>是所要打开的、包含路径在内的一个文件的名字,它是一个字符串常量(即用双引号括起来);<文件操作模式>是一个字符串常量,指明欲打开文件的性质(是文本文件还是二进制文件),以及被打开后是用于读、写还是又读又写。如
7、果正确地将所需要的文件打开了,那么表明系统已在指定文件和一个FILE变量之间建立起了联系,并把文件的有关信息赋给了这个FILE变量的成员。返回的FILE型指针,正是那个FILE变量的地址。于是,函数fopen()的调用者必须定义一个FILE型指针,来接收这个地址。.这里调用fopen(),想以只读方式(“r”)打开文件“C:/zong/prog/test.txt”。打开后,返回值由FILE型指针变量fp接收。若打开失败,则输出信息:filecannotbeopened!然后调用系统函数exit()终止运行。例:程序中有如下的语
此文档下载收益归作者所有