2013-02-26 123 views
-1

文件夾名稱樣品和文件類似於如何從文件夾中讀取文件?文件夾包含不同類型的文件名?

1.text 
1_1.text , 
1_2.text, 
1_3.text, 
3.text, 
4_1.text 

我們必須從不同的文件中讀取的麻煩。

代碼:

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
      printf(dent->d_name); 
      count++; 
    } 
} 

我正在從該文件的名稱。但我怎麼能存儲的文件,我怎麼能得到的所有文件

+2

[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)你的目標是什麼平臺(操作系統)? – 2013-02-26 10:24:51

+0

有什麼困難?失敗的代碼在哪裏? – Rohan 2013-02-26 10:24:54

+1

很傷心。你有什麼嘗試? – 2013-02-26 10:25:07

回答

1

數據只是擴大你的代碼,並與fopen

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
     FILE *fp = fopen(dent->d_name, "r"); 
     /* process file */ 
     fclose(fp); 
    } 
} 

fstream

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
     ifstream f(dent->d_name); 
     /* process file */ 
    } 
} 

如果打開文件你在Unix上,你可以使用stat來驗證,那dent->d_name確實是一個文件,而不是一個目錄或一些特殊文件。

+1

對OP的警告:在打開文件供閱讀之前,您應該檢查從'readdir'獲得的「文件」實際上是一個文件,而不是別的。 – 2013-02-26 10:45:08

+0

@JoachimPileborg非常好的一點!謝謝。 – 2013-02-26 10:50:53

相關問題