Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;如何将目录中的文件名放入向量中?_C++_Boost_Vector - Fatal编程技术网

C++ C++;如何将目录中的文件名放入向量中?

C++ C++;如何将目录中的文件名放入向量中?,c++,boost,vector,C++,Boost,Vector,我只需要将目录中的所有文件(或文件名?)放入一个向量中,这样我就可以对它们进行排序并按顺序打开它们 我从没有真正知道如何做到这一点,因为这是我第一次遇到C++。我尝试过boost::filesystem,但没有成功,因为这对我来说非常陌生。请帮忙 实际上,我已经找到了一种方法,我认为它可以工作,但是我现在正在努力向命令行添加一个链接器,但是我认为如果我在这里问这个问题,它将超出原始问题的范围。namespace fs=boost::filesystem; namespace fs = boost

我只需要将目录中的所有文件(或文件名?)放入一个向量中,这样我就可以对它们进行排序并按顺序打开它们

我从没有真正知道如何做到这一点,因为这是我第一次遇到C++。我尝试过boost::filesystem,但没有成功,因为这对我来说非常陌生。请帮忙

实际上,我已经找到了一种方法,我认为它可以工作,但是我现在正在努力向命令行添加一个链接器,但是我认为如果我在这里问这个问题,它将超出原始问题的范围。

namespace fs=boost::filesystem;
namespace fs = boost::filesystem;
fs::directory_iterator b("path of directory"), e;
std::vector<fs::path> paths(b, e);
目录迭代器b(“目录路径”),e; std::向量路径(b,e);
这包括子目录(但不包括其内容)。如果要排除子目录,可以在路径上使用
fs::is_directory
检查它是否为目录。如果要包含子目录的内容,则可以使用
递归目录迭代器
,而不是从您的:

std::向量文件名;
dpdf=opendir(“/data/files”);
if(dpdf!=NULL){
while(epdf=readdir(dpdf)){
向后推(std::string(epdf->d_name));
}
}

试着看看这个耶!!非常感谢你!!
std::vector<std::string> filenames;
dpdf = opendir("/data/files");
if (dpdf != NULL) {
   while (epdf = readdir(dpdf)) {
      filenames.push_back(std::string(epdf->d_name));
   }
}