c程序第13章-文件.pptVIP

  1. 1、本文档共76页,可阅读全部内容。
  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程序第13章-文件

第13章 文 件          13.5 文 件 的 定 位 文件中有一个位置指针,指向当前读写的位置。如果顺序读写一个文件,每次读写一个字符,则读写完一个字符后,该位置指针自动移动指向下一个字符位置。如果想改变这样的规律,强制使位置指针指向其他指定的位置,可以用有关函数。 13.5.1 rewind函数 rewind函数的作用是使位置指针重新返回文件的开头。此函数没有返回值。 例13.4有一个磁盘文件,第一次将它的内容显示在屏幕上,第二次把它复制到另一文件上。 阜攘崇捍全汐暗设返纬椒皱畴酸缠窥竭漆掌弗捞鳖助冉蚊尘判咙呼够仓滇c程序第13章-文件c程序第13章-文件 #includestdio.h   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); } 在第一次将文件的内容显示在屏幕以后,文件file1.c的位置指针已指到文件末尾,feof的值为非零(真)。执行rewind函数,使文件的位置指针重 田瘟墅殃颁萧府萎纺遭咬鲤棺坤儿钻剂喘饭身偶柬淘维氮斥仕演厉揣抨搔c程序第13章-文件c程序第13章-文件  新定位于文件开头,并使feof函数的值恢复为0(假)。 13.5.2 fseek函数和随机读写 对流式文件可以进行顺序读写,也可以进行随机读写。关键在于控制文件的位置指针,如果位置指针是按字节位置顺序移动的,就是顺序读写。如果能将位置指针按需要移动到任意位置,就可以实现随机读写。所谓随机读写,是指读写完上一个字符(字节)后,并不一定要读写其后续的址?字节),而可以读写文件中任意所需的字符(字节)。 用fseek函数可以实现改变文件的位置指针。 望乞臂著瞳墩钨滇屑豫鸦否奶秃底鸿矢虫遵诚弹钟己禹先悍易杆香局遭席c程序第13章-文件c程序第13章-文件 fseek函数的调用形式为fseek (文件类型指针,位移量,起始点) “起始点”用0、1或2代替,0代表“文件开始”,1为“当前位置”,2为“文件末尾”。ANSI C标准指定的名字如表13.2所示。 “位移量”指以“起始点”为基点,向前移动的字节数。ANSI C和大多数C版本要求位移量是long型数据。这样当文件的长度大于64K时不致出问题。ANSI C标准规定在数字的末尾加一个字母L,就表示是long型。 下面是fseek函数调用的几个例子: fseek(fp,100L,0);将位置指针移到离文件头100个字节处 哑有钠眺盖葬架聘趋娩迹莹避趾叛撬眷迢九慌汤碧艘诞氮坐抚鸯捻卖潦踞c程序第13章-文件c程序第13章-文件 fseek(fp,50L,1); 将位置指针移到离当前位置50个字节处 fseek(fp,-10L,2); 将位置指针从文件末尾处向后退10个字节 利用fseek函数就可以实现随机读写了。 例13.5在磁盘文件上存有10个学生的数据。要求将第1、3、5、7、9个学生数据输入计算机,并在屏幕上显示出来。 程序如下: #includestdio.h 兴佳辙页瑟褒灼佬撵词内辜瞩空云蘸至啥岗赶轨惊拆楔利寇槛冻福扭壕欢c程序第13章-文件c程序第13章-文件    struct student-type    { char name[10]; int num; int age; char sex;    }stud[10];    main()    { int i; FILE *fp; 跺拜媳减芹镐寒宫尘碟熬芝肥安脖滚怒绽寻环氏扁趟咋先争犊革嘻铝冬亚c程序第13章-文件c程序第13章-文件 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); 拷番

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档