- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 文件 文件 重点介绍以下几个方面的内容: 介绍文件的基本概念; 介绍如何利用标准库函数打开文件、关闭文件、建立文件; 介绍利用标准库函数定位文件读写指针,以多种方式读写文件内容的方法; 介绍如何在文件操作的执行中对文件实施检测。 文件的基本概念 文件是程序设计中一个很重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。数据流是以文件的形式存放在外部介质(如磁盘、磁带)上的。操作系统是以文件为单位对数据进行处理。如果想查找存储在外部介质上的某个或某些数据,必须先按文件名找到包含这些数据的文件,然后再从该文件中读取数据。要向外部介质上存储数据也必须先建立一个文件(以文件名标识),将数据组织在此文件中,并以文件形式写到存储介质(磁盘)上。 文件的基本概念 根据数据的组织形式,文件可分为ASCII文件和二进制文件。 ASCII文件又称文本(text)文件,它的每一个字节存放一个ASCII代码,即每一个字节表示一个字符。 二进制文件是把内存中的数据按其存储形式,以二进制码形式形成文件,再存储到磁盘上。 文件的基本概念 用ASCII码形式输出数值:每一位数据对应一个字符,一个字符用一个字节(ASCII码)代表,因而便于对字符进行逐个处理,也便于输出字符,但一般占存储空间较多。 用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上以备再需要输入到内存时,常用二进制文件保存。 文件的基本概念 但无论是文本文件还是二进制文件,C都把数据看作是一连串字节,即C对文件的存取是以字节为单位的,输入输出的数据流仅受程序控制,所以我们说C文件就是字节流文件,简称为流式文件。 在C语言中对文件的处理方法有两种,一种是缓冲型文件系统:是指系统自动在内存中为每一个正在使用的文件开辟一个缓冲区,作为程序与磁盘文件间数据交流的中间媒介。即在读写文件时,数据先送到缓冲区,再传给C程序或传到磁盘上。另一种是非缓冲型文件系统:是指系统不会自动设置缓冲区,而由程序为每个文件设定缓冲区。 Turbo C则使用的是缓冲型文件系统。 文件类型指针 每个被使用的文件都由系统在内存中自动开辟一个特殊区域,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等),这些信息保存在一个结构体变量中的。该结构体类型是由系统定义的,取名为FILE, 在stdio.h文件中的FILE结构体类型的结构内容是: 文件类型指针 typedef struct { short level; /*缓冲区“满”或“空”的程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如无缓冲区不读取字符*/ short bsize; /*缓冲区的大小*/ unsigned char *buffer; /*数据缓冲区的位置*/ unsigned char *curp; /*指针,当前的指向*/ unsigned istemp; /*临时文件,指示器*/ short token; /*用于有效性检查*/ }FILE ; 文件类型指针 可以用结构体FILE类型来定义若干个FILE类型的变量,以便存放若干个文件的信息。例如,可以定义以下FILE类型的数组。 FILE f[5]; 定义了一个结构体数组f,它有5个元素,可以用来存放5个文件的信息。可以定义文件型指针变量。如: FILE *fp; fp 是一个指向FILE类型结构体的指针变量。可以使fp指向某一个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。也就是说,通过文件指针变量能够找到与它相关的文件。 文件的操作 文件的打开与关闭 fopen(“文件名”,“文件打开模式”) 在正常情况下,fopen函数的主要功能是为需要打开的文件分配一个缓冲区,并返回该缓冲区的首地址,因此该地址就是该函数的返回值,它是一个指向FILE类型的指针。即应该将fopen函数的返回值赋给一个文件类型的指针变量,例如: FILE *fp; /* 定义fp为文件类型的指针变量 */ fp=fopen(“d:\\myfile.txt”, “r”); 文件的操作 文件的关闭(fclose函数) 对文件的处理操作完成后,要关闭文件。在C语
您可能关注的文档
- C语言程序设计 李丽娟 等 第1章_引言新.ppt
- C语言程序设计 李丽娟 等 第3章_基本程序语句新.ppt
- C语言程序设计 李丽娟 等 第5章_循环结构新.ppt
- C语言程序设计 李丽娟 等 第6章_函数新.ppt
- C语言程序设计 李丽娟 等 第7章_数组 新.ppt
- C语言程序设计 李丽娟 等 第8章_指针新.ppt
- C语言程序设计 李丽娟 等 第9章_结构新.ppt
- C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第1章新.ppt
- C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第2章新.ppt
- C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第3章新.ppt
- C语言程序设计 易晓梅 赵芸 第2章 基本数据类型、运算符及表达式ckp新.ppt
- C语言程序设计 易晓梅 赵芸 第4章 数组新.ppt
- C语言程序设计 易晓梅 赵芸 第5章 函数新.ppt
- C语言程序设计 易晓梅 赵芸 第6章 变量的作用域及存储类别新.ppt
- C语言程序设计 易晓梅 赵芸 第7章 预处理新.ppt
- C语言程序设计 易晓梅 赵芸 第8章 指针新.ppt
- C语言程序设计 易晓梅 赵芸 第9章 结构体共用体枚举新.ppt
- C语言程序设计 张磊 等 第1章 程序设计概述新.ppt
- C语言程序设计 张磊 等 第3章 简单程序设计新.ppt
- C语言程序设计 张磊 等 第4章 分支结构程序设计新.ppt
文档评论(0)