9数据的永久存储--文件程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级语言程序设计 第9章 数据的永久存储 —文件程序设计 引言 到现在为止,我们所写的程序,不管是输入的原始数据,还是中间计算结果或最终计算结果,在程序运行结束退出后,就都无影无踪了。 你的原始数据输入之后存储到哪里了呢? 内存中的数据不能永久保存 内存中的数据在程序退出后,就没办法控制它们了,因为它们所占的内存已经被释放。特别当电脑关机后,内存中的数据更是荡然无存了。 怎么样让数据永久的存储起来呢? 这必须借助于外存,把数据以文件的形式存储到外存中,不论是原始数据还是中间结果或最终结果都可以保存到文件中。反过来也可以从文件中读出已存的数据供各种计算服务。 本章要解决的问题 建立学生成绩管理系统的文件版 学习目标 文件的概念 文件的组织方式 文本文件与二进制文件 顺序文件与随机文件 文件的操作 文件的定义方法,文件指针 文件的打开方法两种打开方式 各种读写方法 字符读写 字符串读写 行读写(格式化读写) 块读写 文件的定位 分析 把学生信息记录保存到文件中,或者从文件中读取学生信息, 输入输出不是键盘和屏幕了 文件与目录 什么是文件?永久存储数据的介质是各种各样的“盘”,磁盘、光盘、闪盘等,把数据存储到这些盘上,应该是比较复杂的事情。 数据的永久保存 文件 数据库 文件与目录 操作系统有一个重要的组成部分—文件管理模块,也称文件系统。 文件系统封装了外存各种介质的特性,让我们可以用一个相同的接口使用不同的外存,这个接口就是“文件”(FILE)。 我们只需要指明要把数据保存成什么格式的,用什么文件名,操作系统就会在外存上寻找一个最佳位置,把数据写进去; 反之,如果我们要从外存储器上读出数据,也只需告诉它数据的文件名,操作系统就会到外存储器上找到该文件所在的位置,把数据读出来。 树形的目录结构是文件系统的事实标准 每个文件都可以被唯一的“绝对路径(Absolute Path)”表示 在DOS/Windows下: D:\users\homework\main.c 在Unix/Linux下:/users/homework/main.c 相对路径(Relative Path): main.c 文件的存储格式 数据存储为文件是有格式的,不同内容的数据往往有不同的格式。 一般来说一个源程序是可以在一个编辑器中打开看到的,我们能看到的数据文件被认为是一个字符序列,这种存储格式称为文本格式。 数据文件也可以在编辑器中查看,也可以是文本格式 例如100分的成绩,用文本形式存储的就是1、 0、 0这三个字符的ASCII码,即0x313030。 更常用的是二进制格式存储,它是把数据转换为二进制形式存放 如100作为一个整数转化为对应的二进制编码存储起来即 0二进制格式存储的数据用编辑器打开是看不到它的真实面目的,显示的是“乱码” 文件的分类 文本文件/二进制文件 二进制存储的文件称为二进制文件(binary file)。 文本格式存储的文件叫做文本文件(text file),其扩展名常为txt, c或cpp,dat等 顺序文件/随机文件 按照记录的关键字顺序存放的文件是顺序文件 可以随机存取的文件是随机文件 C语言中的文件 无论什么文件C语言都把它们看成是有序的字节流 C语言文件操作的一般步骤 (1)声明一个FILE *类型的指针变量。 (2)打开(open)一个文件。 (3)对文件进行输入输出(I/O)操作,也称读写(read/write)操作。 (4)关闭(close)打开的文件。 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; 读操作或输入操作是把数据从外存的文件中读到内存 写操作或输出操作是把数据从内存写到外存的文件中。 可以按字符读写 也可以按记录读写 也可以按字节读写 但不是直接读到内存,也不

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档