您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)C++中怎么利用std::fstream處理文件,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
1.使用open()和close()打開(kāi)和關(guān)閉文件
(1)要使用fstream類,需要使用open()打開(kāi)文件
fstream myFile; //實(shí)例化一個(gè)文件對(duì)象myFile.open("firstFile.txt", ios_base::in | ios_base::out | ios_base::trunc); //打開(kāi)文件firstFile.txt,可選擇三種模式if(mfFile.is_open()) //檢測(cè)open()是否成功{ Dosomething(); //讀或?qū)懖僮? myFile.close(); //關(guān)閉文件流以保存其內(nèi)容,這一步不能忘}
open(“文件名的路徑和名稱”, ios_base::in | ios_base::out | ios_base::trunc)
第一個(gè)參數(shù):是要打開(kāi)文件的路徑和名稱(若沒(méi)有提供路徑,默認(rèn)為應(yīng)用程序的當(dāng)前目錄)
第二個(gè)參數(shù):是文件的打開(kāi)模式。ios_base::in(可讀取文件)、ios_base::out(可寫入文件)、ios_base::trunc(即便指定的文件存在,也重新創(chuàng)建它)
(2)除了使用open()打開(kāi)文件,還可以使用fstream類的構(gòu)造函數(shù)打開(kāi)文件
//使用構(gòu)造函數(shù)打開(kāi)文件fstream myFile("firstFile.txt", ios_base::in | ios_base::out | ios_base::trunc); //如果只想打開(kāi)文件進(jìn)行寫入ofstream myFile("firstFile.txt", ios_base::out);//如果只想打開(kāi)文件進(jìn)行讀取ifstream myFile("firstFile.txt", ios_base::in);
注意:無(wú)論是使用成員方法open()還是構(gòu)造函數(shù)來(lái)打開(kāi)文件流,都建議在使用文件流對(duì)象前,使用is_open()檢查文件打開(kāi)操作是否成功。
下面將演示使用ofstream新建一個(gè)文本文件并向其中寫入文本:
#include <fstream>#include <iostream>using namespace std;int main(){ ofstream myFile; myFile.open("firstFile.txt", ios_base::out); //以只寫模式打開(kāi)文件if(myFile.is_open()){ cout<<"File open successful"<<endl;//使用運(yùn)算符<<寫入文件 myFile<<"Hello File!"<<endl; myFile<<"Writing in file"; myFile.close(); //關(guān)閉文件以保存其內(nèi)容}return 0;}
注:程序表明寫入文件的方式與使用cout寫入到標(biāo)準(zhǔn)輸出的方式相同,都采用運(yùn)算符<<。
要讀取文件,使用fstream或者ifstream,并使用標(biāo)志ios_base::in打開(kāi)它。下面將演示如何從已有的文件firstFile中讀取文本:
#include <fstream>#include <iostream>#include <string>using namespace std;int main(){ ifstream myFile; myFile.open("firstFile", ios_base::in);if(myFile.is_open()){ cout<<"文件打開(kāi)成功!文件中包含以下內(nèi)容:"<<endl; string fileContents;while(myFile.good()) //判斷當(dāng)前流的狀態(tài)是否正常。即當(dāng)讀到文件末尾時(shí),自動(dòng)跳出循環(huán)。{ getline(myFile, fileContents); //每次從文件中讀取一行 cout<<fileContents<<endl;} myFile.close();}else cout<<"打開(kāi)文件失敗,檢查文件是否在正確的目錄下!"<<endl;return 0;}
關(guān)于C++中怎么利用std::fstream處理文件就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。