C++面向对象程序设计项目教程(项目六).pptVIP

C++面向对象程序设计项目教程(项目六).ppt

  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文档。上传文档
查看更多
【例6-10】 文件的打开与关闭应用示例。假设当前目录下存在文件“aa.txt”,打开该文件并进行读写操作,操作完后关闭该文件。 #includefstream.h void main() { ofstream out; //创建输出流对象 out.open(aa.txt,ios::nocreate); //打开文件 if(!out) //打开失败 cout文件不存在,打开失败!endl; else //打开成功 { cout文件已打开,可以进行读写操作!endl; outHello World!“;} out.close(); //关闭文件 cout文件已关闭!endl; } 程序运行结果如图所示。 四、文件的读写操作 1.对ASCII文件的操作 对于ASCII文件,可以通过文件流对象和流插入运算符“”及流提取运算符“”实现对磁盘文件的读写,与cin和cout的使用方法相同。 另外,使用前面介绍的的文件流的get()、getline()、put()等成员函数也可以实现字符的输入/输出。 【例6-11】 ASCII文件操作应用示例。将当前目录下源文件“a.txt”中的内容输出到目标文件“b.txt”中。 #include iostream.h #include fstream.h void main() { fstream inf,ouf; //定义流对象 char ffn[20]=a.txt,dfn[20]=b.txt,ch[10]; //定义字符串变量存放文件名 cout源文件名:; coutffnendl; cout目标文件名:; coutdfnendl; inf.open(ffn,ios::in); //以输入的方式打开源文件 if(!inf) //打开源文件失败 {cerr打开文件a.txt失败!endl; return; } else //打开源文件成功 { cout打开文件a.txt成功!endl; cout可以对文件a.txt进行读操作!endl; } ouf.open(dfn,ios::out); //以输出的方式打开目标文件 for(int i=0;i10;i++) { infch[i]; //从源文件读入10个字符顺序存放在字符数组ch中 oufch[i]; //将字符数组ch中的10个字符写入目标文件中 } inf.close(); //关闭源文件 cout关闭文件a.txt!endl; ouf.close(); //关闭目标文件 cout关闭文件b.txt!endl;} 程序运行结果如图所示。 2.对二进制文件的操作 二进制文件与ASCII文件存储数据的方式有所不同,它将内存中数据直接保存到磁盘文件中。由于文件中的信息以二进制形式存储,故这种文件又称字节文件。 对二进制文件进行读写操作时,需要首先在打开文件时用ios::binary指定以二进制形式操作文件,然后可通过使用istream类的成员函数read()和ostream类的成员函数write()具体实现读写操作。其函数原型为: istream read(char *buffer,int len); ostream write(const char *buffer,int len); 其中,第一个参数buffer指向内存中存放数据的缓冲区,第二个参数说明要读出或写入数据的字节数。两个函数的作用分别是:从流中读出长度为len的数据存入buffer指向的缓冲区,从buffer所指向的缓冲区把长度为len的数据写到相应的流中。 其调用的一般形式为: 输入流对象名.read(指针变量名,读写的字节数); 输出流对象名.write(指针变量名,读写的字节数); 例如: istream inf; inf.read(p1,20); 表示从inf所关联的文件中读入20个字节,存放在起始地址为p1的一段内存中。 ostream ouf; ouf.write(p2,sizeof(int)); 表示从起始地址为p2的缓冲区中,将长度为sizeof(int),即4个字节的数据,写入到与ouf所关联的文件中。 【例6-12】 二进制文件操作示例。将内存中的数据以二进制形式存入文件,然后从文件中读出该数据并将其显示在屏幕上。 #include iostream.h #include fstream.h void main() {short i=50; ofstream ouf(f:\\tmp.txt, ios::binary); //用构造函数以二进制形式打开输出文件 if(!ouf) //打开文件失败 {cerropen error!endl;

文档评论(0)

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

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

1亿VIP精品文档

相关文档