2010-11-17 51 views
0

我想在c/C++ .i中使用dirent.h文件夾中的所有文件名,但它顯示dirent.h上的錯誤? 我該怎麼處理? 有什麼辦法,而不是dirent.h? 在此先感謝關於文件夾中的文件名

+0

和OS /運行時間是什麼? http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1046380353&id=1044780608 – khachik 2010-11-17 11:55:10

+0

你需要告訴我們你正在運行什麼,你得到什麼錯誤和你正在使用的代碼。否則,我們不能幫助 – 2010-11-17 11:57:49

+0

看起來像一個彙編錯誤,但我們怎麼能確定? – bmargulies 2010-11-17 12:09:41

回答

2

Boost.Filesystem這樣做是否便攜。它的tutorial解釋瞭如何執行這個確切的任務。總之:

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

namespace fs = boost::filesystem; 
using namespace std; 

int main(int argc, char *argv[]) 
{ 
    fs::path p(argv[1]); 

    if (fs::exists(p) && fs::is_directory(p)) 
     copy(fs::directory_iterator(p), fs::directory_iterator(), 
      ostream_iterator<fs::directory_entry>(cout, "\n")); 

    return 0; 
} 

如果你想使用dirent.h,包括它:

#include <sys/types.h> /* required before including sys/dirent.h! */ 
#include <sys/dirent.h> 
相關問題