C语言程序设计PPT课件(共13章)第12章文件操作.pptxVIP

C语言程序设计PPT课件(共13章)第12章文件操作.pptx

  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文档。上传文档
查看更多
第12章 文件操作12.1文件概述目录 CONTENT文件操作12.212.3文件的高级操作12.1 文件概述12.1.1 文件计算机系统是以文件为单位对数据进行管理的,打开 Windows 系统中的资源管理器, 进入任意一个文件夹即可看到相关文件,如图 12.1 所示。 文件名是由文件路径、文件名主干和文件后缀组成的唯一标识,以便用户识别和引用。 注意此时所称的文件名包括三部分内容,而不是文件名主干。文件名主干的命名规则遵守标 识符的命名规则。后缀名用来表示文件的形式,一般不超过 3 个字母,如 exe(可执行文件)、 c(C 语言源程序文件)、cpp(C++源程序文件)、txt(文本文件)等。 12.1.2 文本文件与二进制文件C 语言中将文件视为一个字符的序列,即由多个字符(字节)的数据顺序组成,根据数 据的组织形式可分为 ASCII 文件和二进制文件两种。ASCII 文件又称为文本文件(text),每 一个字节放一个 ASCII 代码,代表一个字符。二进制文件是把内存中的数据按其在内存中 的存储形式原样输出到磁盘。例如,整数 1034 用 ASCII 码存放占用 4 个字节,若按二进制 形式存放只占用 2 个字节,如图 12.2 所示。 如图 12.2 中,用 ASCII 码表示,字符与字节一一对应,便于对字符逐个处理,也便于 直接进行字符输出,但一般占用存储空间较多,而且要花费二进制形式与 ASCII 形式间的 转换时间。用二进制形式节省存储空间,并且不需转换时间,但一个字节不对应一个字,不 能直接输出显示。 12.1.2 文本文件与二进制文件用 ASCII 码形式输出时字节与字符一一对应,一个字节代表一个字符,因此便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费二进制转化为 ASCII码的转换时间。用二进制形式输出数值,可以节省外存空间和转换时间,把内存储单元中的内容原样地输出到磁盘(或其他外部介质)上,此时每一个字节并不一定代表一个字符。如果程序运行过程中有中间数据需要保存到外部介质上,以便在需要时再输入到内存,一般用二进制文件比较方便。在事务管理中,常有大批数据存放在磁盘上,随时调入计算机进行查询或处理,然后又把修改过的信息再存回磁盘,这时也常用二进制文件。此外 windows 系统有一个明显的区别是对待文本文件读写时,会将换行\n 自动替换为\r\n。文本文件和二进制文件是 windows 系统下的概念,UNIX/Linux 系统并没有区分这两种文件,对所有文件一视同仁,将所有文件都视为二进制文件。12.1.2 文本文件与二进制文件此外 windows 系统有一个明显的区别是对待文本文件读写时,会将换行\n 自动替换为\r\n。文本文件和二进制文件是 windows 系统下的概念,UNIX/Linux 系统并没有区分这两种文件,对所有文件一视同仁,将所有文件都视为二进制文件。12.1.3 流C 语言中引入了流的概念,它将数据的输入输出看作是数据的流入和流出,这样无论是 磁盘文件或者是物理设备(打印机、显示器、键盘等),都可看作一种流的源和目的。这种把 数据的输入输出操作对象,抽象化为一种流,而不管它的具体结构的方法很有利于编程,而 涉及流的输出操作函数可用于各种对象,与其具体的实体无关,即具有通用性。12.1.3 流C 语言中流可分为两大类,即文本流和二进制流。 (1)文本流是由文本行组成的序列,每一行包含 0 个或多个字符,并以“\n”结尾。 在某些环境中,可能需要将文本流转换为其它表示形式(如将“\n”映射为回车符和换行符), 或从其它表示形式转换为文本流。 (2)二进制流是由未经处理的字节构成的序列,这些字节记录着内部数据,如果在同 一系统中写入二进制流,然后再读取该二进制流,则读出和写入的内容完全相同。 12.1.3 流程序开始执行时,会默认打开标准输入流(stdin)、标准输出流(stdout)和标准错误输 出流 (stderr),它们都是文本流。有关文件操作的函数属于 C 语言标准输入输出库中的函数, 为使用其中的函数,应在源程序文件的开头包含头文件。12.1.3 流C 语言对文件的输入输出是由库函数来完成的。从内存向磁盘输出数据必须先送到内存 中的缓冲区,装满缓冲区后再一次性送往磁盘。反之,从磁盘读出数据到内存,也要先将一 批数据送入内存缓冲区,然后再从缓冲区逐个将数据送到内存数据区,各个具体 C 版本的 缓冲区大小不完全相同,一般为 512 字节,缓冲区对文件进行操作的原理,如图 12.3 所示。 12.1.3 流一些与流相关的函数只能通过标准流进行操作,如 printf()只能输出到 stdout,perror() 只能输出到 stderr,scanf()只能从 st

您可能关注的文档

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

从事职业教育近20年,高级职称。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档