版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/qq_31261509 https://blog.csdn.net/qq_31261509/article/details/83829650
读取文件夹下的相应拓展名文件
- 通过CMakeList链接boost库的文件操作目录
find_package(Boost REQUIRED COMPONENTS system filesystem)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(tmp ${Boost_LIBRARIES})
- main.cpp文件中的recursion函数实现返回目录下的所有文件的绝对路径
#include <iostream>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
void recursion(fs::path src_path, std::vector<std::string> &img_paths) {
fs::directory_iterator end;
for (fs::directory_iterator dir(src_path); dir != end; dir++)
{
std::string fn = dir->path().string();
if(dir->path().extension() == ".jpg") {
std::string path = dir->path().string();
img_paths.push_back(path);
}
}
}
int main() {
std::vector<std::string> img_path;
int size;
recursion("/home/rui/Pictures", img_path);
for(int i = 0; i < img_path.size(); i++)
std::cout<<img_path[i]<<std::endl;
}