网站大量收购闲置独家精品文档,联系QQ:2885784924

10.2异常处理的机制.ppt

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

9.4.3  二进制文件的读写 void inventory::Bdatafromfile(ifstreamsour){ char k[20]; sour.read(k,20);//提取20个字符到k中 Description=k; sour.read(k,10); //提取10个字符到k中 No=k; sour.read((char*)Quantity,sizeof(int));//取地址强制转换 sour.read((char *)Cost,sizeof(double)); sour.read((char *)Retail,sizeof(double)); } //参见写过程,读写完全对称,次序决不能错 9.4.3  二进制文件的读写 void inventory::Bdatatofile(ofstreamdist){ dist.write(Description.c_str(),20); dist.write(No.c_str(),10); dist.write((char*)Quantity,sizeof(int)); dist.write((char*)Cost,sizeof(double)); dist.write((char*)Retail,sizeof(double));} int main(){ inventory car1(夏利2000,805637928,156,80000,105000),car2; inventory motor1(金城15302,10000,13000),motor2; ofstream ddatafile(d:\\Ex9_10.data,ios::out|ios::binary); car1.Bdatatofile(ddatafile); motor1.Bdatatofile(ddatafile); cout对象car1:endl; coutcar1; cout对象motor1:endl; coutmotor1; cout对象car2:endl; coutcar2; cout对象motor2:endl; coutmotor2; c_str()为string类的成员函数, 实现将string类字符串转换成char* 9.4.3  二进制文件的读写 ddatafile.close(); ifstream sdatafile(d:\\Ex9_10.data,ios::in|ios::binary); //重新打开文件,从头读取数据 car2.Bdatafromfile(sdatafile); //从文件读取数据复制到car2 if(sdatafile.eof()==0) cout读文件成功endl; cout对象car2:endl; coutcar2; motor2.Bdatafromfile(sdatafile); //继续从文件读取数据复制到对象motor2 if(sdatafile.eof()==0) cout读文件成功endl; cout对象motor2:endl; coutmotor2; sdatafile.close(); return 0; } 9.4.3  二进制文件的读写 二进制文件特点: 1. 可以控制字节长度,读写数据时不会出现二义性,可靠性高。同时不知数据格式无法解析数据,必威体育官网网址性好。 2. 读函数并不知道文件是否结束,需用ios::eof()自行判断文件是否结束,若为1则文件结束,此后系统不会再读。 3. 如果写完数据后没有关闭文件,直接开始读,则必须把文件定位指针移到文件头。如关闭文件后重新打开,文件定位指针就在文件头。 9.6 文件与对象 具体实施: 创建对象:在构造函数中打开文件,并读取数据来初始化对象的成员数据; 撤销对象:在析构函数中打开文件,将数据保存到文件中。当撤销对象时,文件流相关资源被自动释放。 对象与文件的关系: 在面向对象的程序设计中,对象的数据成员是数据的临时载体,而对象的操作是数据处理的手段,这些数据只有导入文件才能永久保存。要想再次使用这些数据,必须由这一文件重新创建对象,由对象的操作完成数据处理。最终要把这些处理过的数据重新保存到文件中。 【例9.13】定义数组类Array

文档评论(0)

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

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

1亿VIP精品文档

相关文档