cha的pter11 文件.ppt

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

本章要点 文件的基本概念 文件的基本函数 文件的顺序读写 文件的随机读写 文件简单应用 主要内容 1 C文件概述 2 文件类型指针 3 文件的打开与关闭 4 文件的读写 5 文件的定位 6 出错的检测 7 文件输入输出小结 1 C文件概述 fputs函数 函数作用: 向指定的文件输出一个字符串。 函数调用: fputs(“china”,fp); 第一个参数可以是字符串常量、字符数组名或字符型指针。字符串末尾的\0不输出。 返回值: 输入成功,返回值为0; 输入失败,返回EOF。 用户自定义读取其他类型数据的函数。 向磁盘文件写一个实数(用二进制方式)的函数putfloat: putfloat (float num,FILE *fp) { char s; int count; s = (char*)num; for (count = 0; count 4; count++) putc (s[count], fp); } 5 文件的定位 rewind函数 函数作用: 使位置指针重新返回文件的开头,无返回值。 应用举例: 例:有一个磁盘文件,第一次将它的内容显示在屏幕 上,第二次把它复制到另一文件上。 #includestdio.h void main() { FILE *fp1, *fp2; fp1 = fopen (file1.c, r); fp2 = fopen (file2.c, w); while (!feof (fp1)) putchar (getc (fp1)); rewind (fp1); while (!feof (fp1)) putc (getc (fp1), fp2); fclose (fp1); fclose (fp2); } 顺序读写和随机读写 顺序读写: 位置指针按字节位置顺序移动。 随机读写: 读写完上一个字符(字节)后,并不一定要读写其后续的字符(字节),而可以读些文件中任意位置上所需要的字符(字节)。 fseek函数(一般用于二进制文件) 函数功能: 改变文件的位置指针。 函数调用形式: fseek( 文件类型指针, 位移量, 起始点) 起始点: 文件开头 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 位移量: 以起始点为基点,向前移动的字节数。一般要求为long型。 fseek函数应用举例 fseek (fp, 100L, 0); 将位置指针移到离文件头100个字节处。 fseek (fp, 50L, 1); 将位置指针移到离当前位置50个字节处。 fseek (fp, 50L, 2); 将位置指针从文件末尾处向后退10个字节。 例:在磁盘文件上存有10个学生的数据。要求将第1、3、5、7、9个学生数据输入计算机,并在屏幕上显示出来。 #include stdlib.h #includestdio.h struct student_type { char name[10]; int num; int age; char sex; } stud[10]; void main () { int i; FILE *fp; if ((fp = fopen (stud-dat, rb)) == NULL) { printf (can not open file\n); exit (0);} for (i = 0; i 10; i += 2) { fseek (fp, i*sizeof(struct student_type), 0); fread (stud[i], sizeof (struct student_type), 1, fp); printf (%s %d %d %c\n, stud[i].name, stud[i].num, stud[i].age, stud[i].sex);} fclose (fp) } ftell函数 函数作用: 得到流式文件中的当前位置,用相对于文件开头的位移量来表示。 返回值: 返回当前位置,出错时返回-1L。 应用举例: i = ftell (fp); if (i == -1L) printf (error\n); 6 出错的检测 ferror函数 调用形式: ferror(fp); 返回值: 返回0,表示未出错;返回非0,表示出错。 在调用一个输入输出函数后立即检查ferror函数的值,否则信息会丢失。在执行fopen函数时,ferror函数的初始值自动置为0。 文件:文件指存储在外部介质(如磁

文档评论(0)

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

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

1亿VIP精品文档

相关文档