第12章读写文件讲解.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2017-4-8 1 第13章 读写文件 主要内容 文件相关概念 读取文本文件 写文本文件 读写二进制文件 随机读写文件 2017-4-8 2 什么是文件? 文件相关概念 2017-4-8 3 文件即是存储在外部介质(例如硬盘)中的数据的集合。 每一个文件都有文件名(主干),文件存储位置以及文件的类型(扩展名)等信息。例如: G:\tzhg\temp.txt 表示temp.txt这个文件存储在G盘下tzhg这个文件夹中,它是一个txt文件,即是一个记事本文件。 文件相关概念 2017-4-8 4 文件分为文本文件和二进制文件。 文本文件中的数据都被当作字符来对待,二进制文件中的数据会被当作。例如有一个整数: 123 如果将其当作文本文件来对待,则会被当作字符’1’,’2’, ‘3’来处理,存储时,会将这些字符对应的ASCII码存储到磁盘中,磁盘中存储的信息为: 如果将其当作二进制文件来处理,则会将整数123转化为二进制储到磁盘中。简单地说,数据在内存中是什么形式,在磁盘中就是什么形式。 文件相关概念 2017-4-8 5 为什么要读写文件? 文件相关概念 2017-4-8 6 程序运行期间,可能需要从文件中获取数据,这时需要对文件进行读操作,简称读文件 程序运行后的结果有时候需要永久保存起来,这时就需要将这些结果数据写(保存)到文件中,简称写文件。 文件相关概念 2017-4-8 7 第13章 读写文件 文件相关概念 读取文本文件 写文本文件 读写二进制文件 随机读写文件 2017-4-8 8 按文本读取文件的步骤 (1) 声明FILE指针变量(FILE是stdio.h中声明的结构体类型) FILE * fp; (2)打开文件 使用库函数fopen打开文件,fopen函数的返回值为文件的地址,即文件中第一个字节的地址号,将其赋给指针变量fp fp = fopen(文件名字, 打开方式); fopen函数的第一个参数是一个字符串,可以为文件的名字,或者为文件的绝对路径,例如:第一个参数取值: “hello.txt” 或者: “G:\\tzhg\\temp.txt” 当取值是文件名字时,要求该文件和当前C程序(可执行文件)在同一目录中 读取文本文件 2017-4-8 9 fopen函数的第二个参数也是一个字符串,用于决定打开文件的方式,即以文本方式还是以二进制方式打开文件。 如第二个参数的值为”r”,则表示以文本方式打开文件 如第二个参数的值为”rb”,则表示以二进制方式打开文件 (3)确定按文本读取文件 在步骤(2)中,让fopen函数的第二个参数取值为如下之一: “r”:以只读方式打开文件,即按文本方式打开一个文件,程序将按文本方式读取该文件,如果文件不存在,fopen返回NULL。 “r+”:打开方式为读/写方式。例如: fp = fopen(“G:\\tzhg\\temp.txt”, “r”) 使用fgetc( )函数或fgets( )函数读取文件 char fgetc(FILE * fp); 该函数从文件中读取一个字符,函数的参数fp表示与某一个文件相关联的指针,fgetc函数即从参数fp所关联的那个文件读取数据。每调用一次fgetc 函数,就从相关联的文件按顺序读取一个字符,该函数的返回值表示读取到的这个字符。例如,假设某个文本文件中的内容为abc,那么第一次调用fgetc函数读出的字符为’a’,第二次调用fgetc函数读出的字符为’b’, 第三次调用fgetc函数读出的字符为’c’。由于文件只有三个字符,第三次调用fgetc函数时就读到了文件的最后一个字符,如果再调用fgetc函数进行第四次读取,fgetc函数的返回值将是EOF(EOF是在stdio.h中定义的符号常量,值为-1, 是end of file的首字母缩写,表示文件的末尾)。程序可以通过fgetc函数的返回值是否等于EOF来判断是否已经读完了文件中的所有内容。 读取文本文件 2017-4-8 10 char * fgets(char str[], int n, FILE *p) fegts函数从参数p所指向的文件一次读取n-1个字符,并将读取到的这n-1个字符存放到第一个参数所指定的字符数组str中,并在字符数组str的末尾添加一个空字符’\0’。每调用一次fegts函数就从p所指向的文件中读取n-1个字符,直到读到文件的末尾。最后一次读取到的字符可能不足n-1

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档