合工大計算機學院 程序設計 10第十章 C++的輸入輸出.ppt
《合工大計算機學院 程序設計 10第十章 C++的輸入輸出.ppt》由會員分享,可在線閱讀,更多相關《合工大計算機學院 程序設計 10第十章 C++的輸入輸出.ppt(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第十章C+的輸入輸出,流文件文件流的使用:文件的輸入和輸出,10.1流與文件一、流,C+語言提供了流用于讀寫文件。接收輸出數(shù)據(jù)的地方稱為目標,發(fā)出輸入數(shù)據(jù)的地方稱為源。輸入輸出操作可以看作是字符序列在源、目標與對象之間的流動,因而將完成輸入輸出操作的類稱為流類。源流目標流輸入緩沖區(qū)(讀)輸出緩沖區(qū)(寫)流的提取運算符流的插入運算符文本文件的寫操作是向流中寫一個字符流的插入運算符,例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);/文件不存在則創(chuàng)建新文件if(!to)coutCannotopenfile_toforoutput!n;return0;/從流from中讀一個字符到ch中,成功的話則寫入to,否則文/件的每個字符都讀完了while(from.get(ch)to.put(ch);from.close();to.close();/關閉文件return1;/返回1表示文件復制成功,例2:把一個整數(shù)、一個浮點數(shù)和一個字符串寫到名為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字符數(shù)組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/產(chǎn)品目錄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);/重新打開文件,從頭讀取數(shù)據(jù)car2.Bdatafromfile(sdatafile);/從文件讀取數(shù)據(jù)拷貝到對象car2if(sdatafile.eof()=0)cout讀文件成功endl;cout對象car2:endl;car2.display();motor2.Bdatafromfile(sdatafile);/繼續(xù)從文件讀取數(shù)據(jù)拷貝到對象motor2if(sdatafile.eof()=0)cout讀文件成功endl;cout對象motor2:endl;motor2.display();sdatafile.close();,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 合工大計算機學院 程序設計 10第十章 C+的輸入輸出 合工大 計算機 學院 10 第十 C+ 輸入輸出
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.italysoccerbets.com/p-11651273.html