文件输入输出和string流
文件流:
頭文件fstream定義了三個類型:ifstream讀取,ofstream寫入,fstream讀取和寫入,其繼承了iostream。當要讀寫文件時,把文件流對象與文件關(guān)聯(lián)起來,每個文件流都定義了open成員函數(shù),并對文件視情況打開為讀或?qū)懙哪J健?/p>
ifstream in(file);//定義了一個輸入流in,來讀取file ostream out;//定義了一個輸出流,但并未關(guān)聯(lián)任何文件文件流的成員函數(shù)open和close,調(diào)用形式:文件流.open(文件) ? ,文件流.close() ? ?,open函數(shù)調(diào)用成功,failbit會被置位。但open函數(shù)可能會調(diào)用失敗,所以要進行檢測。一旦一個文件流已經(jīng)打開,它就保持與對應的文件相關(guān)聯(lián),對一個已經(jīng)打開的的文件流調(diào)用open會失敗,并導致failbit被置位,隨后使用文件流的操作都會失敗。當一個fstream對象唄銷毀時,close自動調(diào)用。
文件模式:每個流都有一個文件模式,用來指出如何使用文件。
in ? ? ? ? ? 以讀的方式打開
out ? ? ? ? 以寫的方式打開
app ? ? ? 每個操作前均定位到文件末尾
ate ? ? ? ?代開文件后立即定位到文件末尾
trunc ? ? ?截斷文件
binary ? 以二進制方式進行
以out模式打開文件會丟棄已有數(shù)據(jù),默認情況下,當我們打開一個ostream時,文件的內(nèi)容會被丟棄。阻止一個ofstream清空文件內(nèi)容的方法是同時指定app或in模式, ?每次調(diào)用open時都會確定文件模式。
string流:
sstream頭文件定義了三個類型:istringstrean讀取,ostringstream寫入,stringstream讀取和寫入。
當我們的某些工作是對整行文本進行處理,而其他一些工作是處理行內(nèi)的單個單詞時,通常使用istringstream。
當我們逐步構(gòu)造輸出,希望最后一期打印時,用ostringstream。
總結(jié)
以上是生活随笔為你收集整理的文件输入输出和string流的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。