Boost库实现文件夹下所有pcd文件名称的提取

       下面的代码使用Boost库实现文件夹下所有pcd文件名称的提取,首先创建两个向量pcd_files_和pcd_paths用于存储文件夹下的点云序列和路径的序列。

       boost::filesystem::is_directory:用于判断传入的参数dir_是否为目录。

       boost::filesystem::directory_iterator:结合for循环可以遍历文件path内的所有内容。

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

std::vector<std::string> pcd_files_;
std::vector<boost::filesystem::path> pcd_paths_;

int main()
{
	pcd_files_.clear();
	pcd_paths_.clear();
	std::string dir_ = "D:\\project\\PCL";
	boost::filesystem::directory_iterator end_iter;
	if (boost::filesystem::is_directory(dir_))
	{
		for (boost::filesystem::directory_iterator itr(dir_); itr != end_iter; ++itr)
		{
			std::string ext = itr->path().extension().string();
			if (ext.compare(".pcd") == 0)
			{
				pcd_files_.push_back(itr->path().string());
				pcd_paths_.push_back(itr->path());
			}
			else
			{

			}
		}
	}
	else
	{
		std::cout << "不是一个路径" << std::endl;
	}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章