研究式学习——C语言程序设计(第二版)课件作者方娇莉李向阳_8第八章节文件.PPTVIP

研究式学习——C语言程序设计(第二版)课件作者方娇莉李向阳_8第八章节文件.PPT

  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文档。上传文档
查看更多
文件 前几章中数据的输入输出都是以终端为对象,即使用键盘输入数据,屏幕输出数据,但问题是: C语言中没有专门的输入输出语句,需要通过调用输入输出库函数实现数据的I/O,也可以自编函数来完成数据的I/O C语言提供了丰富的输入输出函数,不仅可以完成终端输入输出,也可将数据以文件形式组织在磁盘上实现磁盘输入输出 无论是一般磁盘文件还是设备文件,都是通过文件结构类型指针进行输入输出 通过fopen( )打开文件时,编译系统自动建立文件的FILE结构,并返回一个指向FILE结构类型的指针,其后通过该指针变量来访问文件 fclose( )释放文件打开时建立的FILE结构,并将输出缓冲区中的内容写到外存上 FILE *rf; rf=fopen(“c:\tp\run.dat”,“wb”) fclose(rf) 由系统打开的标准设备文件系统会自行关闭 尚辅网 / 第八章 文件的概念、定义及使用规则 与文件操作有关的函数 综合应用举例 语法练习和编程练习 本讲主要内容 内存 Stdin ? getc() scanf() Stdout ? putc() printf() 难以实现大批量数据的输入和重复利用 难以保存程序的运行结果 当需要利用磁盘上的数据作为输入或需要将程序运行结果保存在磁盘中时,就需要改变数据的输入或输出方式。 数据的终端输入输出 输入 输入 输出 输出 磁盘 文件 内存 键盘 屏幕 数据的磁盘输入输出 问题的提出:从键盘输入一个班全体学生的信息,把它们保存起来。在需要的时候读出并显示在屏幕上,或者只显示其中指定部分的学生信息。。 问题分析:必须建立一个磁盘文件,把内存中的数据写到磁盘文件中保存。再将其读到内存,然后显示出来。 保存数据到磁盘中 完成数据的读写需要以下几步: ?第一步:以写方式建立并打开一个磁盘文件 ?第二步:从键盘逐个输入数据到对应的变量中 ?第三步:将变量中的数据写到打开的磁盘文件中 (内存-磁盘) ?第四步:从磁盘文件中读出数据到变量中 (磁盘-内存) ?第五步:将变量中的数据显示在显示器上 例8.1 从键盘输入10个学生信息,写入文件名为student.dat 的文件中,再从该文件读出第4个学生信息显示在屏幕上。 #define N 10 main() { FILE *fp; struct STUDENT std[N]; … if((fp=fopen(student.dat,wb+))==NULL) { printf(\nCant open this file!\n); exit(0); /*文件读写错误,退出程序*/} … 保存数据举例 例8.1 文件是一组相关数据的有序集合,一个数据集合用一个名字进行标识,这个名字即文件名 通过文件名来访问文件中的数据 C语言的文件是流式文件,读写时以字符为单位 从用户角度看,文件分为普通文件和设备文件: 普通文件:存储在磁盘或其它外部介质上的一个有序数据集,如程序文件、数据文件 设备文件:与主机相连的设备看作一个文件来进行管理,把通过它们而进行的输入、输出等同于对磁盘的读和写 文件的概念 普通文件分为ASCII(文本)文件和二进制文件 普通文件 ASCII文件:以字符形式顺序保存文件各字符的ASCII码值,以Ctrl+Z(0x1A)作文件结束标志 二进制文件:以二进制编码形式保存各数据,文件末尾不用结束标志,通过将文件中读出的字节数与文件长度比较来控制文件结束 文件可以是磁盘文件、磁带文件和各种外部设备 例如:整数12345在内存中占2个字节,所以二进制文件中同样占2个字节,而在ASCII文件中占5个字节。如图 文本文件00110010001101000x1A 二进制文件00101110 设备文件 C语言将各种输入输出设备当作文件来对待,并指定其中三个最常用的设备文件为三个标准设备文件: 标准输入文件(键盘):stdin 标准输出文件(屏幕):stdout 标准出错信息文件 :stderr 标准设备文件在启动系统时自动打开,并自动分配文件缓冲区和文件指针,退出系统时自动关闭 文件指针 标准文件和一般文件 除标准设备文件之外的设备文件和磁盘文件都是一般文件,需要人为定义文件指针并打开和关闭 不同的文件具有不同的访问特性,磁盘文件可随机存取,键盘只能输入,屏幕和打印机只能输出 通常对文本文件采用顺序读/写的方法,二进制文件采用随机读/写的方法。 文件处理过程 打开文件(fopen()): 只有在打开了文件之后才能进行读、写操作 文件被打开后,系统赋予一个唯一的文件

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档