C++ 使用指定路径从目录加载PCD文件(该路径包含一个作为文件名的字符串)

C++ 使用指定路径从目录加载PCD文件(该路径包含一个作为文件名的字符串),c++,file,loading,point-cloud-library,point-clouds,C++,File,Loading,Point Cloud Library,Point Clouds,我试图从一个目录加载一个pcd文件,因此我获取文件名,然后将该文件名添加到路径中 我知道文件名可以直接在路径中指定,但我这样做是因为文件名会有所不同 //getting the filename string ls = "3989440000.pcd" chdir("/home"); path="/home/usr/pcd/" + ls; // Fill in the cloud data if (pcl::io::load

我试图从一个目录加载一个pcd文件,因此我获取文件名,然后将该文件名添加到路径中

我知道文件名可以直接在路径中指定,但我这样做是因为文件名会有所不同

      //getting the filename
      string ls = "3989440000.pcd"
      chdir("/home");
      path="/home/usr/pcd/" + ls;

    // Fill in the cloud data
       if (pcl::io::loadPCDFile<pcl::PointXYZ> (path.c_str(), *cloud) == -1) 
      {
        PCL_ERROR ("Couldn't read file test_pcd.pcd \n");
        return (-1);
      }
//获取文件名
字符串ls=“3989440000.pcd”
chdir(“/家”);
path=“/home/usr/pcd/”+ls;
//填写云数据
if(pcl::io::loadPCDFile(path.c_str(),*cloud)=-1)
{
PCL_错误(“无法读取文件test_pcd.pcd\n”);
返回(-1);
}
这就是我面临的错误

[pcl::pcd::readHeader]找不到文件“/home/usr/pcd/3989440000.pcd” '.
无法读取文件test\u pcd.pcd

您的问题是什么?我很清楚错误信息。你不明白什么?即使文件的路径是正确的,我也无法加载文件。如果我在加载中指定路径,就像这样,它会工作。pcl::io::loadPCDFile('/home/usr/pcd/3989440000.pcd',*cloud),但如果我给出这个,它不会加载,pcl::io::loadPCDFile(path.c_str(),*cloud)非常奇怪,不应该是这样。您确定
ls
字符串与磁盘上的文件匹配吗?您的问题是什么?我很清楚错误信息。你不明白什么?即使文件的路径是正确的,我也无法加载文件。如果我在加载中指定路径,就像这样,它会工作。pcl::io::loadPCDFile('/home/usr/pcd/3989440000.pcd',*cloud),但如果我给出这个,它不会加载,pcl::io::loadPCDFile(path.c_str(),*cloud)非常奇怪,不应该是这样。您确定
ls
字符串与磁盘上的文件匹配吗?