合工大计算机学院 程序设计 10第十章 C++的输入输出.ppt

上传人:sh****n 文档编号:11651273 上传时间:2020-04-30 格式:PPT 页数:21 大小:262.31KB
返回 下载 相关 举报
合工大计算机学院 程序设计 10第十章 C++的输入输出.ppt_第1页
第1页 / 共21页
合工大计算机学院 程序设计 10第十章 C++的输入输出.ppt_第2页
第2页 / 共21页
合工大计算机学院 程序设计 10第十章 C++的输入输出.ppt_第3页
第3页 / 共21页
点击查看更多>>
资源描述
第十章C+的输入输出,流文件文件流的使用:文件的输入和输出,10.1流与文件一、流,C+语言提供了流用于读写文件。接收输出数据的地方称为目标,发出输入数据的地方称为源。输入输出操作可以看作是字符序列在源、目标与对象之间的流动,因而将完成输入输出操作的类称为流类。源流目标流输入缓冲区(读)输出缓冲区(写)流的提取运算符流的插入运算符文本文件的写操作是向流中写一个字符流的插入运算符,例1:将文件file_from拷贝到文件file_to中去,#include#includeintCopyFile(char*file_from,char*file_to)/file_from:输入文件名(源文件);file_to:输出文件名(目标文件)charch;/文件不存在则打开失败ifstreamfrom(file_from,ios:in|ios:nocreate);/以文本方式打开if(!from)coutCannotopenfile_fromforinput!n;return0;/返回0表示复制文件不成功ofstreamto(file_to);/文件不存在则创建新文件if(!to)coutCannotopenfile_toforoutput!n;return0;/从流from中读一个字符到ch中,成功的话则写入to,否则文/件的每个字符都读完了while(from.get(ch)to.put(ch);from.close();to.close();/关闭文件return1;/返回1表示文件复制成功,例2:把一个整数、一个浮点数和一个字符串写到名为out.txt的文本文件中,#includeintmain()ofstreamoutfile;outfile.open(out.txt);if(!outfile)coutCannotopenout.txtforoutput!n;return0;/返回0表示打开文件不成功floatf=123.23;intn=10;outfilenfn;outfilefchstr;coutnfchn;cout运算符号跳过空白符号(如空格,回车),然后读入对应于输入对象类型的字符,例4:百钱买百鸡,#include#includevoidmain()inti,j,k;chara28;ofstreamofile(d:myfile.txt);/打开文件ofile公鸡母鸡小鸡endl;for(i=0;i,它不能读白字符if(ai=n)break;i+;/把文件中的第一行(到n)内容读入a字符数组ai=0;/a加上结束符,成为完整的字符串coutijk;/由文件读入if(ifile.eof()!=0)break;coutsetw(6)isetw(10)jsetw(10)kendl;/屏幕显示ifile.close();,myfile.txt,公鸡母鸡小鸡02575418788118112484,例5,#include/包含#include#includeclassinventory/产品目录charDescription20;charNo10;intQuantity;doubleCost;doubleRetail;/零售价public:inventory(char*=#,char*=0,int=0,double=0,double=0);voiddisplay();Bdatatofile(ofstream,inventory:inventory(char*des,char*no,intquan,doublecost,doubleret)strcpy(Description,des);strcpy(No,no);Quantity=quan;Cost=cost;Retail=ret;voidinventory:display()cout.setf(ios:left);coutsetw(20)Descriptionsetw(10)No;cout.unsetf(ios:left);/要改为右对齐,先清左对齐cout.setf(ios:right);coutsetw(10)Quantitysetw(10)Costsetw(10)Retailendl;,inventory:Bdatatofile(ofstream/由此可见读和写是完全对称的过程,次序决不能错,voidmain()inventorycar1(夏利2000,805637928,156,80000,105000),car2;inventorymotor1(金城125,93612575,302,10000,13000),motor2;ofstreamddatafile(d:Ex9_10.data,ios:out|ios:binary);car1.Bdatatofile(ddatafile);motor1.Bdatatofile(ddatafile);cout对象car1:endl;car1.display();cout对象motor1:endl;motor1.display();cout对象car2:endl;car2.display();cout对象motor2:endl;motor2.display();ddatafile.close();ifstreamsdatafile(d:Ex9_10.data,ios:in|ios:binary);/重新打开文件,从头读取数据car2.Bdatafromfile(sdatafile);/从文件读取数据拷贝到对象car2if(sdatafile.eof()=0)cout读文件成功endl;cout对象car2:endl;car2.display();motor2.Bdatafromfile(sdatafile);/继续从文件读取数据拷贝到对象motor2if(sdatafile.eof()=0)cout读文件成功endl;cout对象motor2:endl;motor2.display();sdatafile.close();,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!