输出串流的格式控制.PPTVIP

  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文档。上传文档
查看更多

*輸入串流的無格式化輸入

*輸入串流的無格式化輸入第9行用cin.getline(ss,10,$);所以會讀到$為止,但只會取9個字元存到ss中(外加字串的結束字元\0)。所以輸出時只看到Good加換行字元\n再加Morn。*輸入串流的無格式化輸入由於輸入“Morning$”時,最後有個按鍵Enter的動作,所以輸入緩衝區會留有一個換行字元\n,接下來第13、16行的get()都會直接讀到這個換行字元,而認定使用者沒有輸入,所以程式只顯示兩行請輸入一個字串:而未取得任何輸入資料。解決方式之一就是另外用讀取字元的get()函式先讀入該換行字元,或是呼叫ignore()成員函式忽略一個字元:*輸入串流的無格式化輸入另外要注意一點:若程式中將格式化輸入與getline()混合使用,例如先用運算子取得一項輸入,接著又想用getline()讀取一個字串,也會出現如上\n還留在緩衝區,使getline()根本讀不到資料的問題。此時當然也可用上列將換行字元自緩衝區清除的方法。*輸出串流的無格式化輸出ostream的無格式化輸出成員函式有:write()函式會持續輸出str中的字元,直到指定的count字數為止,就算str字串中間有字串結束字元\0,也不會中止其輸出。所以輸出字串的字數,不可少於count值。*14-4檔案串流對於已熟悉cin/cout用法的讀者來說,讀寫檔案並無什麼不同,唯一要做的,就是將原來用的cin/cout換成檔案串流的物件,其它用、輸入與輸出的方式都相同。建立檔案串流物件循序讀寫檔案非循序讀寫檔案*建立檔案串流物件在C++中要讀寫檔案,只要建立代表檔案的輸出入串流物件即可,此時輸出到串流就是寫入檔案,而讀取串流就是從檔案讀取資料了。要進行檔案讀寫,首先要做的就是用內建的檔案串流類別建構檔案物件:ifstream類別:使用basic_ifstream樣版建立的讀取檔案類別,basic_ifstream樣版是由basic_istream樣版所衍生的,因此ifstream物件的用法和cin類似。*建立檔案串流物件ofstream類別:使用basic_ofstream樣版建立的寫入檔案類別,basic_ofstream樣版是由basic_ostream樣版所衍生的,因此ofstream物件的用法和cout類似。fstream類別:使用basic_fstream樣版建立的可同時供讀取及寫入的檔案類別,basic_fstream樣版是由basic_iostream樣版所衍生的,因此fstream物件兼具cin/cout的輸入與輸出性質。*建立檔案串流物件上列的檔案串流類別及樣版都宣告於fstream之中,因此以下的程式都會先含括這個檔案。依據您要做的動作選好適用的類別後,即可建構物件並開啟檔案來進行讀寫。我們可在建構物件時即指定檔案名稱及路徑;也可先只宣告物件,稍後再以檔案名稱及路徑呼叫物件的open()函式開啟檔案:*建立檔案串流物件

*建立檔案串流物件

*建立檔案串流物件1.第7行是用ifstream類別建立檔案串流物件,且在建立時即以常數字串指定檔案名稱。2.第8行是用fstream類別建立可讀可寫的檔案串流物件file2(雖然程式中仍只用它做讀取動作),且未指定檔名,而是在第9行才用open成員函式開啟指定的檔案。3.第11行用!運算子判斷檔案是否開啟,C++串流類別多載了!運算子,可用以判斷串流物件的狀態,當串流物件有問題時,用!運算子就會傳回true。*建立檔案串流物件若先前開啟檔案的動作出現找不到檔案或檔案被別的程式佔用的狀況,我們的程式就無法成功開啟檔案,用!運算子就會傳回true,因此會執行第12行的敘述輸出相關的訊息。4.第15行用getline()讀取一整行內容,由於檔案一開啟時,預設都是從頭開始讀取,所以此時就會讀到第1行的內容;讀入後隨即在第16行輸出到cout。*建立檔案串流物件5.第18、19行則是連續讀入file2的前2行內容,並在第20行輸出第2次讀到的內容。檔案的讀取就是這麼簡單,除了改用檔案串流外,其它好像都和使用標準輸出入差不多,但其實讀寫檔案時,還是有些地方與使用

文档评论(0)

189****0266 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档