posts - 1,  comments - 0,  trackbacks - 0
          假設有一個叫 data.txt 的文件, 它包含以下內容: 

          Fry: One Jillion dollars.
          [Everyone gasps.]
          Auctioneer: Sir, that's not a number.
          數據讀取, 測試 。

          以下就是基于 data.txt 的數據讀取操作:

          #include <iostream>
          #include 
          <fstream>
          #include 
          <string>

          using namespace std;

          //輸出空行
          void OutPutAnEmptyLine()
          {
              cout
          <<"\n";
          }


          //讀取方式: 逐詞讀取, 詞之間用空格區分
          //read data from the file, Word BWord
          //when used in this manner, we'll get space-delimited bits of text from the file
          //but all of the whitespace that separated words (including newlines) was lost. 
          void ReadDataFromFileWBW()
          {
              ifstream fin(
          "data.txt");  
              
          string s;  
              
          while( fin >> s ) 
              
          {    
                  cout 
          << "Read from file: " << s << endl;  
              }

          }


          //讀取方式: 逐行讀取, 將行讀入字符數組, 行之間用回車換行區分
          //If we were interested in preserving whitespace, 
          //we could read the file in Line-By-Line using the I/O getline() function.
          void ReadDataFromFileLBLIntoCharArray()
          {
              ifstream fin(
          "data.txt"); 
              
          const int LINE_LENGTH = 100
              
          char str[LINE_LENGTH];  
              
          while( fin.getline(str,LINE_LENGTH) )
              
          {    
                  cout 
          << "Read from file: " << str << endl;
              }

          }


          //讀取方式: 逐行讀取, 將行讀入字符串, 行之間用回車換行區分
          //If you want to avoid reading into character arrays, 
          //you can use the C++ string getline() function to read lines into strings
          void ReadDataFromFileLBLIntoString()
          {
              ifstream fin(
          "data.txt");  
              
          string s;  
              
          while( getline(fin,s) )
              
          {    
                  cout 
          << "Read from file: " << s << endl; 
              }

          }


          //帶錯誤檢測的讀取方式
          //Simply evaluating an I/O object in a boolean context will return false 
          //if any errors have occurred
          void ReadDataWithErrChecking()
          {
              
          string filename = "dataFUNNY.txt";  
              ifstream fin( filename.c_str());  
              
          if!fin ) 
              
          {   
                  cout 
          << "Error opening " << filename << " for input" << endl;   
                  exit(
          -1);  
              }

          }


          int main()
          {
              ReadDataFromFileWBW(); 
          //逐詞讀入字符串 
              OutPutAnEmptyLine(); //輸出空行

              ReadDataFromFileLBLIntoCharArray(); 
          //逐詞讀入字符數組
              OutPutAnEmptyLine(); //輸出空行

              ReadDataFromFileLBLIntoString(); 
          //逐詞讀入字符串
              OutPutAnEmptyLine(); //輸出空行

              ReadDataWithErrChecking(); 
          //帶檢測的讀取
              return 0;
          }

          輸出結果為:
          Read from file: Fry:
          Read from file: One
          Read from file: Jillion
          Read from file: dollars.
          Read from file: [Everyone
          Read from file: gasps.]
          Read from file: Auctioneer:
          Read from file: Sir,
          Read from file: that's
          Read from file: not
          Read from file: a
          Read from file: number.
          Read from file: 數據讀取,
          Read from file: 測試
          Read from file: 。
           

          Read from file: Fry: One Jillion dollars.
          Read from file: [Everyone gasps.]
          Read from file: Auctioneer: Sir, that's not a number.
          Read from file: 數據讀取, 測試 。

          Read from file: Fry: One Jillion dollars.
          Read from file: [Everyone gasps.]
          Read from file: Auctioneer: Sir, that's not a number.
          Read from file: 數據讀取, 測試 。

          Error opening  dataFUNNY.txt for input
          Press any key to continue
          posted on 2012-03-31 16:50 憤怒的考拉 閱讀(91) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 鲁山县| 波密县| 枝江市| 乌审旗| 佛学| 怀远县| 全州县| 洞头县| 于都县| 扎囊县| 江西省| 武汉市| 勐海县| 嘉义市| 安平县| 龙游县| 芦溪县| 周宁县| 太和县| 秭归县| 郓城县| 温州市| 吴江市| 共和县| 景泰县| 华宁县| 桂东县| 扬州市| 两当县| 桃源县| 镇赉县| 华宁县| 汾西县| 安龙县| 杭州市| 获嘉县| 和田市| 无锡市| 宿迁市| 长寿区| 股票|