c语言j转成11,C语言程序设计教程第十一章北京邮电大学出版社.ppt

C语言程序设计教程第十一章北京邮电大学出版社

11.1 文件概述

11.2 标准文件操作

; 在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。 如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。一、文件与文件名 文件是指存放在外部存储介质上的数据集合。 为标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名[.扩展名] 文件命名规则,遵循操作系统的约定。;二、数据文件的存储形式 数据文件用于保存数据,其读写往往由应用程序实现。 1 、字符文件:也称文本文件或正文文件,其数据以字符的形式出现,每个字符用一个 ASCII 代码(占一个字节)表示。 2 、二进制文件:以数据在内存中的形式原样存于磁盘。 在Turbo C中,二进制文件中,整型数用2个字节表示,长整型用4个字节表示,实型数(浮点数)用4个字节,双精度数用8个字节表示。;例:十进制整数10000,在内存中占两字节,其存放形式是:0010,0111,0001,0000。在二进制文件中也按这中方式存放,占2个字节。在ASCII文件中,存放为31H、30H、30H、30H、30H,占5个字节,它们分别是1、0、0、0、0、0字母的ASCII码。

;比较:字符文件的每1个字节存储1个字符,因而便于对字符进行逐个处理。但一般占用存储空间较多,而且要花费转换时间(二进制与ASCII码之间的转换)。二进制文件是把内存中的数据,原样输出到磁盘文件中。可以节省存储空间和转换时间,但1个字节并不对应1个字符,不能直接输出字符形式。 ;三、标准文件与非标准文件; 在C语言中,无论是使用标准文件系统还是非标准文件系统,都是利用I/O库函数完成文件操作的。; 要调用一个文件,需要有以下的信息:★文件当前的读写位置 ★与该文件对应的内存缓冲区的地址 ★文件操作方式等 1、每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息。这些信息是保存在一个结构体类型的变量中。该结构体类型是由系统定义的,取名为FILE。 2、标准文件系统借助FILE数据??构对文件进行管理,利用文件指针读写文件。每当程序成功打开一个文件,系统就在内存建立一个与该文件对应的FILE结构体变量,并返回该变量的指针(地址)。 ;3、在程序中定义一个指针变量,用以保存已打开文件所对应的FILE结构在内存的地址,此后用户程序就可用此FILE指针来实现对指定文件的存取操作。定义文件指针变量的一般形式为:   FILE *文件结构指针变量名 例如:FILE *fp;注意: 1)只有通过文件指针,才能调用相应的文件。 2)对文件操作的库函数,函数原型均在头文件stdio.h中。 3)文件操作的过程:对磁盘文件的操作必须“先打开,再读写,最后关闭”。;“打开”文件的含义:以某中方式从磁盘上查找指定的文件或 创建一个新文件。1、文件的打开(fopen)函数形式: FILE * fopen( char *filename,char *mode);filename: 文件名(可以包含驱动器、路径、文件名、扩展名)mode: 打开方式 FILE *:返回值1)如果成功打开,返回一个指向被打开文件的文件信息区的起始地址; 2)如果打开失败,返回一个NULL指针。 ; “r” (只读) 为输入打开一个文本文件 “w” (只写) 为输出打开一个文本文件 “a” (追加) 向文本文件尾增加数据 “rb” (只读) 为输入打开一个二进制文件 “wb” (只写) 为输出打开一个二进制文件 “ab” (追加) 向二进制文件尾增加数据 “r+” (读写) 为读/写打开一个文本文件 “w+” (读写)为读/写建立一个新的文本文件 “a+” (读写)为读/写打开一个文本文件 “rb+” (读写)为读/写打开一个二进制文件 “wb+” (读写) 为读/写建立一个新的二进制文件 “ab+” (读写) 为读/写打开一个二进制文件;3、在程序开始运行时,系统自动打开以下标准文件,并自动地定义了对应的FILE 结构指针变量。 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值