第10章-对文件的输入输出.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章-对文件的输入输出精要

10.4 随机读写数据文件 10.4.1 文件位置标记及其定位 10.4.2 随机读写 10.4.1 文件位置标记及其定位 1.文件位置标记 系统为每个文件设置了一个文件读写位置标记(简称文件标记),用来指示“接下来要读写的下一个字符的位置”。 顺序读文件时,文件标记首先指向文件开头,读取一个字符后,文件标记向后移一个位置,依此类推,直到遇文件尾,结束。 顺序写文件时,每写完一个数据后,文件标记顺序向后移一个位置,然后在下一次执行写操作时把数据写入指针所指的位置。直到把全部数据写完,此时文件位置标记在最后一个数据之后。 可以根据读写的需要,人为地移动了文件标记的位置。文件标记可以向前移、向后移,移到文件头或文件尾,然后对该位置进行读写——随机读写。随机读写可以在任何位置写入数据,在任何位置读取数据。 10.4.1 文件位置标记及其定位 2. 文件位置标记的定位 (1)用rewind函数使文件标记指向文件开头。 例如:rewind(fp); (2) 用fseek函数改变文件标记。fseek函数的调用形式为: fseek(文件类型指针,位移量,起始点) 起始点:0代表“文件开始位置”,1为“当前位置”,2为“文件末尾位置”。位移量指以起始点为基点,向前移动的字节数。位移量应是long型数据(在数字的末尾加一个字母L)。例如:fseek (fp,-10L,2); (3) 用ftell函数测定文件位置标记的当前位置。ftell函数返回当前位置相对于文件开头的位移量。如果出错(如不存在fp指向的文件),返回值为-1L。例如: i=ftell(fp); if(i==-1L) printf(“error\n”); 10.5 文件读写的出错检测 1.ferror函数 ferror函数的一般调用形式为 ferror(fp); 如果返回值为0,表示未出错,否则表示出错 每次调用输入输出函数,都产生新的ferror函数值,因此调用输入输出函数后立即检查 调用fopen时,ferror的初始值自动置为0 2. clearerr函数 作用是使文件错误标志和文件结束标志置为0 调用一个输入输出函数时出现错误(ferror值为非零值),立即调用clearerr(fp),使ferror(fp)值变0,以便再进行下一次检测 只要出现文件读写错误标志,它就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其他一个输入输出函数 文件输入输出小结 分类 函数名 功能 打开文件 fopen() 打开文件 关闭文件 fclose() 关闭文件 文件定位 fseek() 改变文件位置指针的位置 rewind() 使文件位置指针重新至于文件开头 ftell() 返回文件位置指针的当前值 文件状态 feof() 若到文件末尾,函数值为真 ferror() 若对文件操作出错,函数值为真 clearerr() 使ferror和feof()函数值置零 文件输入输出小结 分类 函数名 功能 文件读写 fgetc() 从指定文件取得一个字符 fputc() 把字符输出到指定文件 fgets() 从指定文件读取字符串 fputs() 把字符串输出到指定文件 getw() 从指定文件读取一个字(int型) putw() 把一个字输出到指定文件 fread() 从指定文件中读取数据项 fwrite() 把数据项写到指定文件中 fscanf() 从指定文件按格式输入数据 fprintf() 按指定格式将数据写到指定文件中 第10章 对文件的输入输出 10.1 C文件的有关基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测 10.1 C文件的有关基本知识 10.1.1 什么是文件 10.1.2 文件名 10.1.3 文件的分类 10.1.4 文件缓冲区 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档