欢迎来到天天文库
浏览记录
ID:5425479
大小:108.00 KB
页数:29页
时间:2017-11-12
《程序设计基础(c语言)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、程序设计基础(C语言)东北大学高级语言程序设计课程组课程网站:www.neu.edu.cn/cxsj程序设计基础(C语言)文件1.文件概念什么是文件?文件是存储在外部介质上(介质:磁盘和磁带等外存储器)的数据或信息的集合例如程序文件中保存着源程序数据文件中保存着数据声音文件中保存着声音数据磁盘上的每个文件都有唯一的名字,进行标识,依据文件名找到相应的文件为什么要使用文件文件的改动不能引起程序的改动,即程序与数据分离不同的程序可以访问同一数据文件中的数据,即数据共享能够长期保存程序运行的中间数据或结果数据31.文件概念C语言实现文件操作通过操作系统完成对文件的输入输出操作通过由C语言的编译系
2、统提供的一套用于文件操作的库函数,也称为“标准输入/输出库”文件的特点文件是一个有序的数据序列保存的所有数据有着严格的排列次序(类似于数组)要访问文件中的数据,必须按照它们的排列顺序,依次进行访问41.文件概念文件的分类数据的组织形式ASCII码文件ASCII码文件是将要存储的数据采用ASCII码的形式进行存储数据按顺序组成一个一个的字符序列每一个字符用一个ASCII码来表示,占用1个字节ASCII码形式的文件在文本编辑器下可以直接阅读保存在内存中的所有数据在存入文件的时候都要先转换为等价的字符形式当要从文件中读取数据时,在将字符串转换为浮点数例如:123.45(浮点数)将123.45转换
3、为字符串“123.45”再存放51.文件概念文件的分类数据的组织形式二进制文件将数据按其在内存中的存储方式(二进制方式)原样输出到文件中存放的内存中的数据存入磁盘的时候不需要进行数据转换磁盘上保存的数据采用C语言规定的与内存数据一致的表示形式进行存储例如:123.45存放字二进制文件中将会占用4个字节(浮点数)61.文件概念文件的分类数据的组织形式区别ASCII码文件较为直观、可读性好方便人们的阅读和理解可以直接在Windows下的记事本等工具直接观察占用存储空间较多而且在数据输入输出时必须进行二进制代码和ASCII码之间的转换二进制文件存储空间的利用效率高输入输出时不需要进行转换,因而速
4、度较快,可以节省磁盘空间和转换时间二进制文件不能直接识别内存中的表示形式,不方便人们的阅读和理解,可读性差71.文件概念文件的分类文件的处理方式数据写入文件或从文件中读出数据的过程计算机内存程序数据区出入文件缓冲区输出文件缓冲区外存文件写文件输出输入读文件81.文件概念文件的分类文件的处理方式“写文件”将保存在内存中的数据写入磁盘首先要建立一个“输出文件缓冲区”通过该缓冲区可将内存中的数据存入磁盘,以文件的形式保存“读文件”将保存在文件中的数据装入内存首先要建立一个“输入文件缓冲区”,将文件中的数据装入缓冲区然后再由缓冲区存入程序可以操作的内存数据区91.文件概念文件的分类文件的处理方式C
5、语言系统对"缓冲区"的处理方式不同产生了两种不同的文件处理方式缓冲文件系统对每个正在使用的文件,系统自动地在内存中为其开辟一个缓冲区非缓冲文件系统指系统不会自动开辟缓冲区,而要由程序自行设置文件的缓冲区提示在ANSIC83标准中取消了非缓冲文件系统对文本文件和二进制文件均统一采用缓冲文件系统进行处理101.文件概念文件的分类文件的处理方式缓冲文件的特点缓冲区是一个连接计算机内存数据与外存文件的桥梁在内存开辟一个“缓冲区”,为程序中的每一个文件使用执行读文件的操作时,从磁盘文件将数据先读如内存“缓冲区”,装满后再从内存“缓冲区”依此读入进接收的变量执行写文件的操作时,先将数据写入内存“缓冲区
6、”,待内存“缓冲区”写满后再写入文件由此可见,内存“缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,操作外存的次数越少,执行速度就越快、效率就越高一般来说:文件的“缓冲区”的大小随机器而定112.文件的操作C语言中文件的操作主要是由C语言库函数实现了解和掌握C语言提供的与文件有关的操作和规定文件的定义文件的状态访问文件的基本操作文件操作的函数属于C语言标准输入输出库中的函数应在程序函数的前面使用预处理命令"#include“#include122.文件的操作文件指针每个正在使用的文件都要说明一个FILE类型的结构变量该类型就是文件读写所需要分配的内存区域的类
7、型利用一个结构体类型的变量存放该结构变量用于存放文件的有关信息文件的名字、文件的性质、文件的当前状态等FILE类型由系统定义它包含的成员即FILE的各个分量由操作系统自动定义在头文件stdio.h中定义通过文件结构的数据集合进行输入输出处理文件结构在打开文件时由操作系统自动建立132.文件的操作文件指针在头文件stdio.h中定义的结构FILEtypedefstruct{shortlevel;/*文件的缓冲区级别(满或空
此文档下载收益归作者所有