posts - 1,  comments - 0,  trackbacks - 0
          假設(shè)有一個(gè)叫 data.txt 的文件, 它包含以下內(nèi)容: 

          Fry: One Jillion dollars.
          [Everyone gasps.]
          Auctioneer: Sir, that's not a number.
          數(shù)據(jù)讀取, 測(cè)試 。

          以下就是基于 data.txt 的數(shù)據(jù)讀取操作:

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

          using namespace std;

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


          //讀取方式: 逐詞讀取, 詞之間用空格區(qū)分
          //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;  
              }

          }


          //讀取方式: 逐行讀取, 將行讀入字符數(shù)組, 行之間用回車換行區(qū)分
          //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;
              }

          }


          //讀取方式: 逐行讀取, 將行讀入字符串, 行之間用回車換行區(qū)分
          //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; 
              }

          }


          //帶錯(cuò)誤檢測(cè)的讀取方式
          //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(); 
          //逐詞讀入字符數(shù)組
              OutPutAnEmptyLine(); //輸出空行

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

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

          輸出結(jié)果為:
          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: 數(shù)據(jù)讀取,
          Read from file: 測(cè)試
          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: 數(shù)據(jù)讀取, 測(cè)試 。

          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: 數(shù)據(jù)讀取, 測(cè)試 。

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 石景山区| 富源县| 巍山| 黄浦区| 安泽县| 禄丰县| 阿拉善右旗| 玛纳斯县| 南和县| 广饶县| 常州市| 界首市| 泗水县| 安阳市| 宝坻区| 屏东县| 定安县| 商城县| 营口市| 罗甸县| 蕲春县| 繁峙县| 鹤峰县| 肥乡县| 盖州市| 理塘县| 延吉市| SHOW| 通城县| 安顺市| 侯马市| 平度市| 浦县| 察隅县| 都兰县| 天气| 桃园县| 牙克石市| 宿州市| 磐石市| 丰台区|