乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C++文件操作:打開(kāi)文件和寫(xiě)入文件

       新用戶34957vZZ 2021-11-06

      如果程序的運(yùn)行結(jié)果僅僅顯示在屏幕上,當(dāng)要再次查看結(jié)果時(shí),必須將程序重新運(yùn)行一遍;而且,這個(gè)結(jié)果也不能被保留。
      如果希望程序的運(yùn)行結(jié)果能夠永久保留下來(lái),供隨時(shí)查閱或取用,則需要將其保存在文件中。

      文件分類(lèi)

      外部文件和內(nèi)部文件

      1. 外部文件:指磁盤(pán)文件,也是通常所謂的文件。

      2. 內(nèi)部文件:指在程序中運(yùn)行的文件,更正式的稱謂是“文件流對(duì)象”。

      3. 程序中操作的是內(nèi)部文件,最后保存的是外部文件。

      文本文件和二進(jìn)制文件

      1. 文本文件:由字符序列組成,以字符(character) 為存取最小信息單位,也稱“ASCII碼文件”。

      2. 二進(jìn)制文件:由二進(jìn)制數(shù)組成。

      使用過(guò)程

      本節(jié)只討論文本文件的使用方法和操作過(guò)程及其簡(jiǎn)單應(yīng)用。
      使用文本文件的過(guò)程是固定的,一般步驟如下:

      (1) 打開(kāi)一個(gè)文件,使磁盤(pán)文件和文件流對(duì)象建立聯(lián)系;

      2) 將數(shù)據(jù)按文本方式寫(xiě)入一個(gè)文件,就如同cout用于向顯示器送數(shù)據(jù)。以后可從這個(gè)文件讀取數(shù)據(jù),就如同cin用于鍵盤(pán)輸入。

      (3) 當(dāng)不再使用文件時(shí),要關(guān)閉文件,此時(shí)文件將從緩沖區(qū)中完全寫(xiě)回磁盤(pán)。這樣,可以永久保存數(shù)據(jù)。

      操作步驟

      1.說(shuō)明一個(gè)文件流對(duì)象(內(nèi)部文件)。

      例如:     ifstream ifile;     //說(shuō)明輸入文件流對(duì)象ifile    

      ofstream ofile;     //說(shuō)明輸出文件流對(duì)象ofile
      說(shuō)明:

      • 文件流類(lèi)型ifstream支持從輸入文件中提取數(shù)據(jù)的操作。

      • 文件流類(lèi)型ofstream完成數(shù)據(jù)寫(xiě)入輸出文件中的各種操作。

      • ifile是輸入文件流對(duì)象,用于讀;ofile是輸出文件流對(duì)象,用于寫(xiě)。

      2.打開(kāi)文件,在文件流對(duì)象和磁盤(pán)文件之間建立聯(lián)系。

      例如:     ifile.open( "d:\\my_in_file.txt" );    

      ofile.open( "d:\\my_out_file.txt" );

      說(shuō)明:

      • 雙引號(hào)中的字符串(如"d:\\my_in_file.txt" )為磁盤(pán)文件路徑名。

      • 通過(guò)輸入文件流對(duì)象(如ifile)或輸出文件流對(duì)象(如ofile)打開(kāi)指定磁盤(pán)文件,將在文件流對(duì)象和磁盤(pán)文件之間建立聯(lián)系。

      • 輸入/輸出文件流對(duì)象都被稱為“內(nèi)部文件”,即和對(duì)應(yīng)磁盤(pán)文件聯(lián)系的“虛文件”。

      3.對(duì)文件進(jìn)行讀寫(xiě)操作。

      • 文件讀寫(xiě)在文件緩沖區(qū)中進(jìn)行。

      • 最常見(jiàn)的文件讀寫(xiě)是順序的,即從文件頭開(kāi)始進(jìn)行。

      • 順序讀寫(xiě)可用C++的提取運(yùn)算符(>>)和插入運(yùn)算符(<<)進(jìn)行;也可以用讀字符的get()和讀字符串的getline()等函數(shù)進(jìn)行。

      4.關(guān)閉文件。
      文件操作結(jié)束后,應(yīng)該顯式地關(guān)閉該文件,與打開(kāi)文件相對(duì)應(yīng),例如:    

      ifile.close();    

      ofile.close();
      關(guān)閉文件時(shí),系統(tǒng)把與該文件相關(guān)聯(lián)的文件緩沖區(qū)中的數(shù)據(jù)寫(xiě)到磁盤(pán)文件中,保證文件的完整;同時(shí)把磁盤(pán)文件名與文件流對(duì)象之間的關(guān)聯(lián)斷開(kāi),可防止誤操作修改了磁盤(pán)文件。

      應(yīng)用舉例

      【例2.25】將百雞問(wèn)題計(jì)算結(jié)果存入文件。

      復(fù)制代碼
       1 #include<fstream> 2  #include<iomanip> 3  using namespace std; 4  int main(){ 5      int i,j,k; 6      ofstream ofile;               //定義輸出文件 7     ofile.open("d:\\myfile.txt");     //作為輸出文件打開(kāi) 8     ofile<<"   公雞      母雞      小雞"<<endl;   //標(biāo)題寫(xiě)入文件 9     for(i=0;i<=20;i++)10          for(j=0;j<=33;j++){11              k=100-i-j;12              if((5*i+3*j+k/3==100)&&(k%3==0))            //注意(k%3==0)非常重要13             ofile<<setw(6)<<i<<setw(10)<<j<<setw(10)<<k<<endl;   //數(shù)據(jù)寫(xiě)入文件14         }15      ofile.close();                //關(guān)閉文件16     return 0;17  }
      復(fù)制代碼

      【例2.26】讀出存放百雞問(wèn)題計(jì)算結(jié)果的文件

      復(fù)制代碼
       1 #include<fstream> 2  #include<iostream> 3  #include<iomanip> 4  using namespace std; 5  int main(){ 6      char a[28]; 7      ifstream ifile;               //定義輸入文件 8     ifile.open("d:\\myfile.txt");     //作為輸入文件打開(kāi) 9     int i=0,j,k;10      while(ifile.get(a[i])){      //讀標(biāo)題,請(qǐng)對(duì)比cin.get(),不可用>>,它不能讀白字符11         if(a[i]=='\n') break;12          i++;13      }14      a[i]='\0';15      cout<<a<<endl;16      while(1){17          ifile>>i>>j>>k;                                 //由文件讀入數(shù)據(jù)18         if(ifile.eof()!=0) break;            //當(dāng)讀到文件結(jié)束時(shí),ifile.eof()為真19         cout<<setw(6)<<i<<setw(10)<<j<<setw(10)<<k<<endl;     //屏幕顯示       20      }21      ifile.close();                 //關(guān)閉文件22     return 0;23  }
      復(fù)制代碼

      重要提示

      • 操作步驟的第1、2步可以合并為1步,即說(shuō)明文件流對(duì)象的同時(shí)打開(kāi)對(duì)應(yīng)的磁盤(pán)文件。例如:    

      ifstream ifile( "d:\\my_in_file.txt" );  //說(shuō)明輸入文件流對(duì)象ifile并打開(kāi)文件    

      ofstream ofile( "d:\\my_out_file.txt" );//說(shuō)明輸出文件流對(duì)象ofile并打開(kāi)文件

      • 打開(kāi)文件時(shí),如磁盤(pán)文件不存在,會(huì)自動(dòng)建立文件,但指定目錄必須存在,否則建立文件失敗。

      • 計(jì)算機(jī)將外部設(shè)備也作為文件進(jìn)行管理。例如:鍵盤(pán)和顯示器是標(biāo)準(zhǔn)的輸入輸出文件,其文件名分別為cin和cout。

      • 磁盤(pán)文件操作與鍵盤(pán)、顯示器操作非常相似。例題中用輸出文件流對(duì)象(如ofile)代替cout,輸入文件流對(duì)象(如ifile)代替cin,數(shù)據(jù)的去向和來(lái)源則由顯示器和鍵盤(pán)變?yōu)榇疟P(pán)文件。

      • 對(duì)文件進(jìn)行操作,必須在程序前增加一句: #include<fstream>

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多