2012-07-11 126 views
0

我有點初學者編程,我需要一個任務的幫助來編寫一個腳本,它需要輸入一些字符串作爲文件夾,根據現有文件夾搜索文件夾列表當前位置在cmd中,它顯示哪一個存在,哪一個不存在。在存在的那些中,它顯示了裏面有多少個文件。 (例如,它包含a,bb,c),我鍵入a,b,aa,bb,它將搜索a,b,aa,bb對所有文件夾名稱當前目錄,則輸出a,bb,c存在,aa,b不存在。然後顯示a,bb,c中有多少個文件。在C++中搜索文件夾

我很短的時間,任何直接的幫助將非常感激。

+0

什麼操作系統? – sean 2012-07-11 01:15:10

+0

提示:您沒有指定操作系統。 – 2012-07-11 01:15:23

+0

'boost :: filesystem'可能對此有很大的幫助。我還不夠熟悉,能夠帶領你遠遠超過我的頭頂。 – chris 2012-07-11 01:17:56

回答

1

我建議Boost.Filesystem,這是一個跨平臺的庫文摘文件系統操作,如查詢文件屬性,創建,複製和移動文件。作爲獎勵,它被提議在未來版本的C++ ISO標準中進行標準化。

作爲一個起點,下面是一個例子,它將處理給定目錄中的每個文件。

#include <boost/filesystem.hpp> 
#include <iostream> 

int main(int argc, char* argv[]) 
{ 
    if(argc == 2) 
    { 
     boost::filesystem::path directory(argv[1]); 

     if (boost::filesystem::exists(directory) && boost::filesystem::is_directory(directory)) 
     { 
      boost::filesystem::directory_iterator begin(directory); 
      boost::filesystem::directory_iterator end; 

      while(begin != end) 
      { 
       std::cout << *begin << " "; 
       ++begin; 
      } 
      std::cout << "\n"; 
     } 
    } 
} 

它告訴你,你可以:

  • 遍歷每個文件在目錄
  • 查詢給出的路徑是否存在
  • 查詢給出的路徑指向一個目錄

您可能感興趣的其他功能:

0

有使這個非常無痛的,跨平臺的一些大圖書館。

Qt和Boost是一些最知名的。

通過以下鏈接爲相關的類會爲你做這個的文檔:

Boost FilesystemQt QDir

我更喜歡Qt,因爲文檔已經很長時間很統一,我也非常喜歡IDE。