第13章_文件.ppt

第13章_文件.ppt

ID:48724438

大小:344.50 KB

页数:45页

时间:2020-01-26

第13章_文件.ppt_第1页
第13章_文件.ppt_第2页
第13章_文件.ppt_第3页
第13章_文件.ppt_第4页
第13章_文件.ppt_第5页
资源描述:

《第13章_文件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Chap13文件1将短句“HelloWorld”写入到文件2将学生信息保存到文件(fprintf)3从文件读取学生信息(fscanf)4文件的复制(fgetc和fputc)5二进制文件(数据块读写fread()和fwrite())6其他相关函数本章要点什么是文件?C文件是如何存储的?什么是文本文件和二进制文件?怎样打开、关闭文件?怎样编写文件读写程序?怎样编写程序,实现简单的数据处理?本章任务综合项目(四):将综合项目(三)中学生信息结构体数组stuArray的数据保存到文件“学生信息.txt”,能从“学生信息.txt”读取信息

2、,还能实现文件的备份。1将短句“HelloWorld”写入到文件把短句“HelloWorld!”保存到磁盘文件a1.txt中将“Helloworld”写入文件#include#includevoidmain(){chara[]="helloword";FILE*fp;if((fp=fopen("a1.txt","w"))==NULL){printf("cannotopenthefile");exit(0);}fprintf(fp,"%s",a);fclose(fp);}1.1C文件概述文件的

3、定义所谓文件一般指存储在外部介质(如磁盘磁带)上数据的集合.操作系统是以文件为单位对数据进行管理的.文件程序数据区输出文件缓冲区输入文件缓冲区1.1C文件概述文件的分类从用户观点:特殊文件(标准输入输出文件或标准设备文件)普通文件(磁盘文件)从操作系统的角度看,每一个与主机相连的输入输出设备看作是一个文件。输入文件:终端键盘输出文件:显示屏和打印机1.1C文件概述文件的分类按数据的组织形式:ASCII文件(文本文件):每一个字节放一个ASCII代码二进制文件:把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放.例:整数10

4、000在内存中的存储形式以及分别按ASCII码形式和二进制形式输出如下图所示:1.1C文件概述ASCII文件和二进制文件的比较:ASCII文件便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间。二进制文件可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上,以后又需要输入内存的,常用二进制文件保存。C语言对文件的处理方法:缓冲文件系统:系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。用缓冲文件系统进行的输入输出又称为高级磁盘输入输

5、出。非缓冲文件系统:系统不自动开辟确定大小的缓冲区,而由程序为每个文件设定缓冲区。用非缓冲文件系统进行的输入输出又称为低级输入输出系统。缓冲文件系统内存单元内存单元数据……缓冲器512字节……文件由操作系统自动完成程序控制由于磁盘速度慢直接把数据写到磁盘效率很低缓冲文件系统向磁盘输出数据:数据缓冲区,装满缓冲区后磁盘文件。从磁盘读入数据:先一次性从磁盘文件将一批数据输入到缓冲区,然后再从缓冲区逐个读入数据到变量。数据……缓冲器512字节……文件由操作系统自动完成程序控制文件名内存单元内存单元用什么标识1.2缓冲文件与文件类型指针

6、用文件指针指示文件缓冲区中具体读写的位置FILE*fp;数据……缓冲器512字节……文件由操作系统自动完成程序控制fp同时使用多个文件时,每个文件都有缓冲区,用不同的文件指针分别指示。FILE:结构类型用typedef定义,stdio.htypedefstruct{shortlevel;/*缓冲区使用量*/unsignedflags;/*文件状态标志*/charfd;/*文件描述符*/shortbsize;/*缓冲区大小*/unsignedchar*buffer;/*文件缓冲区的首地址*/unsignedchar*curp;/*

7、指向文件缓冲区的工作指针*/unsignedcharhold;/*其他信息*/unsignedistemp;shorttoken;}FILE;文件结构-FILE文件类型指针FILE*fp指向文件缓冲区,通过移动指针实现对文件的操作数据……缓冲器512字节……文件由操作系统自动完成程序控制fp同时使用多个文件时,每个文件都有缓冲区,用不同的文件指针分别指示。如何使fp与具体文件挂钩?文件操作的步骤打开文件建立文件指针将文件指针与文件挂钩文件操作读(将数据从文件读出赋值给程序中的变量)写(将数据从程序中的变量写入文件)文件关闭将“H

8、elloworld”写入文件#include#includevoidmain(){chara[]="helloword";FILE*fp;if((fp=fopen("a1.txt","w"))==NULL){printf("

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。