我想在c / c ++ .i中获取文件夹中的所有文件名。使用dirent.h但它在dirent.h上显示错误? 我该怎么办? 有什么办法而不是dirent.h? 提前致谢
答案 0 :(得分: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>