Chap文件课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例12-4源程序 /*校验用户信息的合法性,成功返回1,否则返回0*/ int checkUserValid(struct sysuser *psu) { FILE *fp; char usr[30],usr1[30],pwd[10]; int check=0; /*检查结果变量,初始化为0*/ /*连接生成待校验字符串*/ strcpy(usr,psu-username); /*复制psu-username到usr1 */ strcpy(pwd,psu-password); /*复制psu-password到pwd */ encrypt(pwd); /*调用例12-2的encrypt对密码进行加密*/ /*连接usr、空格、pwd和\n构成新字符串usr,用于在文件中逐行检查*/ strcat(usr, ); strcat(usr,pwd); strcat(usr,\n); /*打开文件f12-2.txt读入*/ if((fp=fopen(f12-2.txt,r))==NULL){ printf(File open error!\n); exit(0); } /*从文件读入用户信息数据,遍历判断是否存在*/ while(!feof(fp)){ fgets(usr1,30,fp); /*读入一行用户信息作为一个字符串到usr1*/ if(strcmp(usr,usr1)==0){ /*比较判断usr与usr1是否相同*/ check=1; break; } } if(fclose(fp)){ printf(Can not close the file!\n); exit(0); } /*关闭文件*/ return check; } 3. 格式化文件读写fscanf和fprintf fscanf(文件指针,格式字符串,输入表); fprintf(文件指针,格式字符串,输出表); 指定格式的输入输出函数 FILE *fp; int n; float x; fp = fopen(a.txt, r); fscanf(fp,%d%f,n,x); 从文件a.txt分别读入整型数到变量n、浮点数到变量x fp = fopen(b.txt, w); fprintf(fp, %d%f, n, x); 将变量n和x的数值写入文件b.txt *4. 数据块读写fread()和fwrite() fread(buffer, size, count, fp); 从二进制文件中读入一个数据块到变量 fwrite(buffer, size, count, fp); 向二进制文件中写入一个数据块 buffer:指针,表示存放数据的首地址; size:数据块的字节数 count:要读写的数据块块数 fp:文件指针 12.2.4 其他相关函数 函数feof() feof(fp) ; 判断fp指针是否已经到文件末尾, 函数返回值 1:到文件结束位置 0:文件未结束 函数rewind( ) rewind(FILE *fp); 定位文件指针,使文件指针指向读写文件的首地址,即打开文件时文件指针所指向的位置。 函数fseek( ) :控制指针移动 fseek(fp, offset, from); offset:移动偏移量,long型 from:起始位置,文件首部、当前位置和文件尾部分别对应0,1,2,或常量SEEK_SET、SEEK_CUR、SEEK_END。 例如: fseek(fp, 20L, 0):将文件位置指针移动到离文件首20字节处 fseek(fp, -20L, SEEK_END):将文件位置指针移动到离文件尾部前20字节处 函数ftell( ) ftell(文件指针); 获取当前文件指针的位置,即相对于文件开头的位移量(字节数) 函数出错时,返回-1L ferror()函数 ferror(文件指针); 检查文件在用各种输入输出函数进行读写是否出错,若返回值为0,表示未出错,否则表示有错 函数clearerr( ) clearerr(文件指针); 清除出错标志和文件结束标志,使它们为0 12.3 文件综合应用:个人资金账户管理 12.3.1顺序文件和随机文件 按照C程序对文件访问的特点来分,文件可分为顺序访问文件和随机访问文件,简称为顺序文件和随机文件。前面介绍的所有例子都进行的是顺序访问,通过使用fp

文档评论(0)

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

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

1亿VIP精品文档

相关文档