C++文件的輸入/輸出操作

簡(jiǎn)單說一下“流”

先來說一下什么叫做“流”浇雹,輸入是將數(shù)據(jù)從輸入設(shè)備傳送到主機(jī)內(nèi)存的過程,輸出是將數(shù)據(jù)從主機(jī)內(nèi)存?zhèn)魉偷捷敵鲈O(shè)備的過程导狡,數(shù)據(jù)就像流水一樣在主機(jī)內(nèi)存與外部設(shè)備之間流動(dòng)纹坐,因此C++語言將這種數(shù)據(jù)的流動(dòng)現(xiàn)象稱為“流”。

文件的分類:

與C語言一樣痊夭,C++語言根據(jù)文件內(nèi)容的數(shù)據(jù)格式刁岸,將文件分為兩類:

文本文件(text file)與二進(jìn)制文件(binary file)

文本文件由字符序列組成,字符由字符編碼表示她我,既可以是按ASCII編碼虹曙,也可以是按國際標(biāo)準(zhǔn)字符集Unicode編碼。

在文本文件中存取的最小信息單位是字符番舆,既可以是單字節(jié)的ASCII字符酝碳,例如英文字母;也可以是雙字節(jié)的編碼表示的字符(character)恨狈,例如漢字疏哗。而二進(jìn)制文件是按照數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式將其放到磁盤或光盤上,二進(jìn)制文件存取的最小信息單位是字節(jié)(Byte)禾怠。

下面說一下C++中文件的輸入和輸出操作主要的步驟:

(1)打開文件

<1>ifstream類:該類的對(duì)象支持文件的輸入返奉。

例如:ifstream finput;

<2>ofstream類:該類的對(duì)象支持文件的輸出。

例如:ofstream foutput;

<3>fstream類:該類的對(duì)象既可以支持文件的輸入刃宵,也可以支持文件的輸出衡瓶。

例如:fstream ofile;

以上三種類都是從iostream類派生出來的,被叫做“文件流類”牲证,要使用C++流庫對(duì)文件進(jìn)行輸入輸出哮针,首先得創(chuàng)建文件流類的對(duì)象,通過這個(gè)文件流類的對(duì)象將數(shù)據(jù)從內(nèi)存輸出到文件坦袍,或者將數(shù)據(jù)從文件輸入到內(nèi)存十厢。

(2)進(jìn)行文件的讀寫操作

文件的寫操作:

char str1[20],str2[20];

ofstream finput("test.txt");//創(chuàng)建流類對(duì)象并打開文件

if(!finput.is_open()){//判斷文件是否成功打開(使用open()函數(shù)將流對(duì)象finput與test.txt進(jìn)行關(guān)聯(lián))

cout<<"Can't open file test.txt\n";

return 1;

}

finput<<"Learning C++ programming is fun!\n";

文件的讀操作:

ifstream foutput("test.txt");//創(chuàng)建流類對(duì)象并打開文件

if(!foutput.is_open()){

cout<<"Cannot open file test.txt.\n";

return 1;}

foutput >> str1;//從文件中讀出數(shù)據(jù)

foutput.getline(str2,30);//輸入帶空白的字符串需使用getline()函數(shù)

cout<< str1 << str2 <<endl;

(3)關(guān)閉文件

foutput.close();

特別注意:

下面的這兩句代碼我琢磨了半天,其實(shí)是個(gè)很簡(jiǎn)單的問題

foutput >> str1;//從文件中讀到字符串并放入到str1數(shù)組捂齐,可惜只能讀到 Learning蛮放,后面的通通讀不到。

foutput.getline(str2,30);//從文件中讀到字符串并放入到str2數(shù)組奠宜,采用這種方法肯定是能完整的讀到字符串包颁,但要注意后面限定的字符串長度。

使用輸入運(yùn)算符“>>”來讀入文本文件時(shí)压真,空白字符會(huì)被忽略娩嚼;

使用輸入運(yùn)算符“>>”來讀入字符串時(shí),遇到第一個(gè)空白字符將會(huì)被停止滴肿。

因此要使用流類的成員函數(shù)getline()來輸入包含有空格的字符串岳悟。

文件的打開方式:

文件的打開方式有很多,這里只是簡(jiǎn)單列舉幾個(gè)常用的打開方式。

ios::app//以輸出方式打開文件贵少,輸出的數(shù)據(jù)寫在文件的末尾

ios::ate//打開一個(gè)已有的文件呵俏,并將文件指針移到文件尾

ios::in//輸入方式打開文件

ios::out//輸出方式打開文件

ios::binary//二進(jìn)制方式文件

特別注意:

可以使用按位邏輯“或”運(yùn)算符OR將多個(gè)打開方式進(jìn)行枚舉。例如:

ios::out | ios::binary//輸出方式打開二進(jìn)制文件

C++文件的基本輸入輸出操作就簡(jiǎn)單介紹到這里了滔灶,

喜歡就點(diǎn)贊哦

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末普碎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宽气,更是在濱河造成了極大的恐慌随常,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萄涯,死亡現(xiàn)場(chǎng)離奇詭異绪氛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涝影,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門枣察,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人燃逻,你說我怎么就攤上這事序目。” “怎么了伯襟?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵猿涨,是天一觀的道長。 經(jīng)常有香客問我姆怪,道長叛赚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任稽揭,我火速辦了婚禮俺附,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘溪掀。我一直安慰自己事镣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布揪胃。 她就那樣靜靜地躺著璃哟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喊递。 梳的紋絲不亂的頭發(fā)上沮稚,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音册舞,去河邊找鬼。 笑死障般,一個(gè)胖子當(dāng)著我的面吹牛调鲸,可吹牛的內(nèi)容都是我干的盛杰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼藐石,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼即供!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起于微,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤逗嫡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后株依,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驱证,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年恋腕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抹锄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荠藤,死狀恐怖伙单,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哈肖,我是刑警寧澤吻育,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站淤井,受9級(jí)特大地震影響布疼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜庄吼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一缎除、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧总寻,春花似錦器罐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祟印,卻和暖如春肴沫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蕴忆。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工颤芬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓站蝠,卻偏偏與公主長得像汰具,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子菱魔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容