C语言程序设计教程(第三版)(微课版)课件 第8章 文件.pptx

C语言程序设计教程(第三版)(微课版)课件 第8章 文件.pptx

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

;;8.1文件概述;ASCII文件又称为文本文件。在这种文件中,每个字节存放一个字符的ASCII码值。;根据文件的存取方式,数据文件可分为顺序文件和随机文件。

(1)顺序存取只能依先后次序存取文件中的数据,存取完第一字节,才能存取第二字节;存取完第n-1字节,才能存取第n字节。

(2)随机存取也称直接存取,可以直接存取文件中指定的数据,例如,可以直接存取指定的第i个字节(或字符),而不管第i-1字节是否已经存取。

文件的存取方式与该文件是文本文件还是二进制文件无关,即它们都可以用顺序方式或随机方式进行存取。;;文件缓冲区;;;文件操作步骤;8.2文件的打开与关闭;使用

方式;①w方式,只能用于向文本文件写数据。若指定的文件不存在,则创建该文件;若指定的文件已存在,则先删除文件中的全部内容。文件打开时,文件位置指针指向文件开头。

②r方式,只能用于从文本文件中读数据。若指定的文件不存在,则出现错误信息。文件打开时,文件位置指针指向文件开头。

③a方式,用于向文件末尾添加数据。若指定的文件存在,将它打开,并将文件位置指针指向文件末尾,新写入的内容被追加在原有数据之后;若指定的文件不存在,则创建该文件,这时文件位置指针指向的既是文件头,也是文件尾。

④r+,w+,a+方式,用于以既可读也可写的方式打开文本文件。r+:用该方式打开文件后,若写入数据,则写入的内容只覆盖新数据需要的空间,其后的原有数据并不丢失。

w+:用该方式打开文件后,文件原有内容全部丢失,只能先向文件写入数据,然后再读出。

a+:用该方式打开文件后,将文件内容保留。读时从文件开头读,写时则追加到文件末尾。

⑤上述6种方式加上字母“t”后仍表示对文本文件打开。

⑥上述6种方式加上字母“b”后就表示对二进制文件打开。;在打开一个文件时有时会出错。;FILE*fopenfun(char*file,char*model)

{FILE*fp;

if((fp=fopen(file,model))==NULL)

{printf(Cannotopenfileof%s.\n,file);

exit(0);

}

elsereturnfp;

};fclose(fp);;fclose(fp);;8.3文件的读写操作;;typedefstructCharacter

{charname[32];

intage;

charskill[32];

}CHARACTER;

intmain(void)

{FILE*fp;

char*in_file_name=swordsman.txt;

CHARACTERtmp;

intn,i=0;

fp=fopenfun(in_file_name,w);

scanf(%d,n);

while(in)

{scanf(%s%d%s,tmp.name,tmp.age,tmp.skill);

fprintf(fp,%s%d%s\n,tmp.name,tmp.age,tmp.skill);

i++;

}

fclose(fp);

return0;

};typedefstructCharacter

{charname[32];

intage;

charskill[32];

}CHARACTER;

intmain(void)

{FILE*fp;

char*in_file_name=swordsman.txt;

CHARACTERtmp;

fp=fopenfun(in_file_name,w);

scanf(%s,tmp.name);

while(strcmp(tmp.name,*)!=0)

{scanf(%d%s,tmp.age,tmp.skill);

fprintf(fp,%s%d%s\n,tmp.name,tmp.age,tmp.skill);

scanf(%s,tmp.name);

}

fclose(fp);

return0;

};●判文

文档评论(0)

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

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

1亿VIP精品文档

相关文档