C语言PPT第十三章.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言PPT第十三章

§13.4 文件的读写(续) 用户自定义读取其他类型数据的函数 向磁盘文件写一个实数(用二进制方式)的函数putfloat : putfloat(float num,FILE *fp) { char s; int count; s = (char*)num; for(count = 0;count 4;count++) putc(s[count],fp); } §13.4 文件的读写(续) fgets函数 函数作用: 从指定文件读入一个字符串。 函数调用: fgets(str,n,fp); 从fp指向的文件输入n-1个字符,在最后加一个’\0’ 返回值: str的首地址 §13.4 文件的读写(续) fputs函数 函数作用: 向指定的文件输出一个字符串。 函数调用: fgets(“china”,fp); 第一个参数可以是字符串常量、字符数组名或字符型 指针。字符串末尾的′\0′不输出。 返回值: 输入成功,返回值为0; 输入失败,返回EOF. §13.5 文件的定位 rewind函数 函数作用: 使位置指针重新返回文件的开头,无返回值。 应用举例: 例13.4有一个磁盘文件,第一次将它的内容显示在屏幕 上,第二次把它复制到另一文件上。 #includestdio.h main() { FILE *fp1,*fp2; fp1=fopen(file1.c,r); fp2=fopen(file2.c,w); while(!feof(fp1)) putchar(getc(fp1)); rewind(fp1); while(!feof(fp1)) putc(getc(fp1),fp2); fclose(fp1);fclose(fp2); } * * 珠海广大科技专修学院07软件工程方弘 第十三章 本章要点 文件的基本概念 文件的基本函数 文件的顺序读写 文件的随机读写 文件简单应用 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 13.6 出错的检测 13.7 文件输入输出小结 §13.1 C文件概述 文件的定义 所谓文件一般指存储在外部介质(如磁盘磁带)上 数据的集合. 操作系统是以文件为单位对数据进行管理的. 文件 程序 数据区 输出文件缓冲区 输入文件缓冲区 §13.1 C文件概述(续) 文件的分类 从用户观点: 特殊文件(标准输入输出文件或标准设备文件) 普通文件(磁盘文件) 从操作系统的角度看,每一个与主机相连的输入 输出设备看作是一个文件。 例:输入文件:终端键盘 输出文件:显示屏和打印机 文件的分类 按数据的组织形式: ASCII文件(文本文件):每一个字节放一个ASCII代码 二进制文件:把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放. 例:整数10000在内存中的存储形式以及分别按ASCII 码形式和二进制形式输出如下图所示: §13.1 C文件概述(续) §13.1 C文件概述(续) 文件的分类 ASCII文件和二进制文件的比较: ASCII文件便于对字符进行逐个处理,也便于输出 字符。但一般占存储空间较多,而且要花费转换时 间。 二进制文件可以节省外存空间和转换时间,但一个 字节并不对应一个字符,不能直接输出字符形式。 一般中间结果数据需要暂时保存在外存上,以后又 需要输入内存的,常用二进制文件保存。 §13.1 C文件概述(续) 文件的分类 C语言对文件的处理方法: 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区。用缓冲文件系统 进行的输入输出又称为高级磁盘输入输出。 非缓冲文件系统:系统不自动开辟确定大小的缓 冲区,而由程序为每个文件设定缓冲区。用非缓 冲文件系统进行的输入输出又称为低级输入输出 系统。 §13.1 C文件概述(续) 说明: 在UNIX系统下,用缓冲文件系统来处理文本文件, 用非缓冲文件系统来处理二进制文件. ANSI C 标准只采用缓冲文件系统来处理文本文 件和二进制文件. C语言中对文件的读写都是用库函数来实现. §13.2 文件类型指针 Turbo C在stdio.h文件中有以下的文件类型声明: typedef struct { shortlevel; /*缓冲区“满”或“空”的程度*/ unsignedflags; /*文件状态标志*/ charfd; /*文件描述符*/ unsignedcharhold; /*如无缓冲区不读取字符*/ shortbsize;

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档