1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <vector>
#include <string>
using namespace std;

int main(){
   
   const int line = 0;
   string list[ 10 ] = { "dummyFile1.txt",
                         "dummyFile2.txt",
                         "file1.txt" };
                         
   int file_num = 3;
   for( int j = 0; j <= file_num; j++ ){                
      ifstream InputFile( list[ j ] ); // 每次迴圈用到的都是不同的ifstream物件 
      
      cout << list[ j ];                        
      
      if( InputFile.is_open() ) { // 測試檔案是不是被成功開啟 
         while( InputFile.good() ) // 讀取錯誤格式的資料時(包含讀到EOF), 回傳值為 false
            cout << (char)InputFile.get();
      } 
      
      getchar();
   }// end of for ( int j ...
    
   /* 在迴圈結束, 解構 ifstream 物件, 檔案也自動關閉, 與每次開檔共用一個ifstream物件
    * 的差別在於 : 讀取錯誤(包含讀到EOF), 或是開檔開失敗時, 錯誤旗標將會被升起, 意味
    * 著只要之前有一個檔案開失敗, 後面的檔案就算開成功, 也不會執行 while loop 裡面的
    * 程式碼
    */ 
}// end of main