- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京科技大学 计算机系 第10章 文件 10.1 C文件概述 所谓文件,一般指记录在外部介质上的数据的集合。文件是操作系统管理数据的单位,也就是说如果想找存在外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。 在C语言中文件的含义更为广泛,包含磁盘文件和设备文件。如键盘常称为标准输入文件,显示器称为标准输出文件。 根据文件内数据的组织形式,文件可分为文本文件(也称为ASCII码文件)和二进制码文件两种。 10.1 C文件概述 ASCII码文件的每一个字节放一个ASCII代码,代表一个字符,这样便于对字符进行逐个处理,也便于输出字符。 二进制文件是按二进制的编码方式来存放文件的。用二进制形式输出数值,可以节省外存空间和转换时间。 C语言使用的磁盘文件系统有两种:缓冲文件系统和非缓冲文件系统。 10.2 文件类型指针 缓冲文件系统中,关键的概念是文件指针,每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息,这些信息是保存在一个结构体变量中的,该结构体类型是由系统定义的,取名为FILE。 10.2 文件类型指针 Turbo C在stdio.h文件中有如下的定义: typedef struct {short level;???????????? /*缓冲区“满”/“空”的程度*/ ? unsigned flags;???????? /*文件状态标志*/ ? char fd;???????????????? /*文件描述符*/ ? unsigned char hold;???? /*如无缓冲区不读取字符*/ ? short bsize;???????????? /*缓冲区的大小*/ ? unsigned char *buffer;? /*数据缓冲区的位置*/ ? unsigned char *curp;??? /*当前工作指针*/ ?unsigned istemp;???????? /*临时文件,批示器*/ ?short token;???????????? /*用于有效性检查*/ } FILE; 10.2 文件类型指针 定义的结构体类型的类型名是FILE。有了结构体类型FILE之后,可以用它来定义多个FILE类型的变量,以便存放若干个文件的信息,如:FILE a[10]; 定义了一个结构体数组a,可以用来存放10个文件的信息。 在C语言中用一个指针变量指向一个文件,这个指针称为文件型指针。 10.2 文件类型指针 定义文件型指针变量的一般形式: 其中FILE应为大写,它实际上是由系统定义的一个结构,该结构中含有文件名、文件状态和文件当前位置等信息。在编写源程序时不必关心FILE结构的细节。 例如:FILE *fp; fp是指向FILE结构的指针变量,通过fp即可找存放某个文件信息的结构变量,然后按结构变量提供的信息找到该文件,实施对文件的操作。 10.3 文件的打开与关闭 10.3.1 文件的打开 10.3.2 文件的关闭 10.3.1 文件的打开 C语言用fopen函数打开一个文件,其调用的一般形式: 其中,“文件指针名”必须是被说明为FILE 类型的指针型变量,“文件名”是被打开文件的文件名,“使用文件方式”是指文件的类型和操作要求。 例如: FILE *fp; fp=fopen(name1,r); 10.3.1 文件的打开 指在当前目录下打开文件mane1,只允许进行“读”操作(r代表read,即读入),并使fp指向该文件。打开一个文件时,通知给编译系统以下3个信息:需要打开的文件、使用文件的方式、让某个指针变量指向被打开的文件。 又如:FILE *fp; fp=(c:\\file1,rb) 指打开C磁盘的根目录下的文件file1,这是一个二进制文件,只允许按二进制方式进行读操作。 使用文件的方式共有12种,它们的符号和意义。请见教材中的表10-1。 10.3.1 文件的打开 文件使用方式: 1)文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是: r(read): 读 w(write): 写 a(append): 追加 t(text): 文本文件 b(banary)
您可能关注的文档
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch1.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch2.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch3.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch4.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch5.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch6.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch7.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch8.ppt
- C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch10.ppt
- C语言程序设计(第二版) 教学课件 作者 王宏志,韩志明主编 C语言程序设计1.ppt
- 幼儿园膳食委员会成员与责任概述.docx
- 汽车行业技术研发的保密控制措施.docx
- 房地产开发项目资料保密风险评估及防控措施.docx
- 大学生暑期实习扶贫措施.docx
- 市政工程安全防护费用控制计划.docx
- 移动通信技术专业实习报告范文.docx
- 人教版六年级上册数学期末模拟卷(模拟题)word版.docx
- 人教版小学四年级下册数学 期末测试卷精品【名校卷】.docx
- 新解读《GB_T 4937.26 - 2023半导体器件 机械和气候试验方法 第26部分:静电放电(ESD)敏感度测试 人体模型(HBM)》最新解读.pptx
- 新解读《GB_T 19258.2 - 2023杀菌用紫外辐射源 第2部分:冷阴极低气压汞蒸气放电灯》最新解读.pptx
最近下载
- 铁路局招聘考试《铁路基础知识》100题及答案.docx
- 《QSY1237-2009-工艺和设备变更管理》.pdf
- 期末复习专项训练【实验题】(试题)小学科学五年级上册 教科版.docx VIP
- 农旅融合:推进乡村振兴,实现双赢.docx VIP
- 技术标书技术方案(完整资料).pdf VIP
- 13G311-1:混凝土结构加固构造.pdf VIP
- DB21_T 1565-2015预应力混凝土管桩基础技术规程.pdf
- 夏季防暑降温施工方案_夏季防暑降温施工方案夏季防暑降温工作方案.pdf VIP
- 危重症患者口渴的护理PPT.pptx
- 八年级人教版物理下《12.2滑轮》一等奖优秀教学设计 .pdf VIP
文档评论(0)