C语言:文件存取[归类].pdfVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 语言 : 文件存取初步 在磁盘上数据的存储是以 OS文件为单位的。 OS文件可分为两大类:文本( Text )文件和二进制( Binary )文件。 Text 文件可以在屏幕上或打印机上 打印(例如在某个 Text Editor 中打开),是肉眼可读的;而二进制文件,如果也在 Text Editor 中打开, 你看到的可能一片“乱码” 。其实,任何文件在磁盘上,存储的都是二进制代码,以字节为单位,每一字 节由 8 个二进制位( 0 或 1)组成。因此, C 语言统称它为字节流( Byte Stream )。如果说两者有区别, 区别在于,对于 ASCII 文本文件,每一个字节中的二进制码恰好代表一个 ASCII 字符,而且,因为文本 文件一般是用于显示或打印的目的,字节流被分成一系列“行” ,每一行以回车符和换行符 ( ’\r ’\n’’)结尾; 而二进制文件, 每个字节的二进制码可能不对应于任何可印刷字符,也没有“行”的概念。 在 C 语言中,这两种文件都可通过文件 I/O 库函数(也称流函数)存取(读写) 。 为了使用键盘输入、 屏幕输出和打印机输出, C 语言(以及 DOS)把这些设备也视为文件,称为设备文件。于是, C 程序可以 用同样的文件 I/O (输入输出)函数存取磁盘文件和设备文件。 在 stdio.h 文件中列出了所有 ANSI C 标准文件 I/O 库函数原型及其用到的数据结构的定义。其中 , 最重要 的数据结构是 FILE 结构体 : FILE 结构体 : typedef struct { short level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ short bsize; /* Buffer size */ unsigned char *buffer; /* Data transfer buffer */ unsigned char *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */ } FILE; 任何文件在读写前必须打开。文件标准 I/O 是使用缓冲区的。当用 fopen () 打开一个文件时,存取该文件 用的缓冲区在内存中被 fopen () 建立, fopen () 也同时建立一个与存取该文件有关的 FILE 结构体,并返回 指向该 FILE 结构体的指针。注意,在这个 FILE 结构体中,指针变量 buffer 正是指向所建缓冲区的指针。 FILE 结构体还包含与存取该文件有关的信息, 当文件在读写过程中, 有些信息也在相应地更新。例如, curp 指针总是指向缓冲区中当前要读写的位置。 你无须了解 FILE 结构体的每一成员的细节,你一般也用不着直接访问 FILE 结构体中的成员变量,你只须 知道 fopen () 返回的 FILE 指针是与所打开的文件相联系的,或者说得简单些,这个 FILE 指针指向的就是 所打开的文件(虽然实际指向的是与所打开的文件相联系的 FILE 结构

文档评论(0)

朱素云 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档