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

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

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

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

#include 
#include 
#include 

std::vector pcd_files_;
std::vector 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;
	}

}

 

你可能感兴趣的:(C++,Boost库)