最近在处理单线激光雷达的点云数据,需要批量导入pcd文件,因此学习一下批量导入文件的方法,看到一个博文写的挺好,加点注释当作学习笔记
#include <iostream>
#include "string"
#include <io.h>
using namespace std;
int main()
{
/*FILE* filepath;
filepath = fopen("test.txt", "a");*///为了将文件名保存到txt的准备工作
intptr_t Handle;
struct _finddata_t FileInfo;
Handle = _findfirst("data\\*.txt", &FileInfo);
/*_findfirst这个函数会查找指定类型的文件,将文件名保存在FileInfo中,搜索成功返回文件句柄,搜索失败返回-1(我也不知道什么是句柄,会用就行……)*/
if (Handle == -1)
printf("没有找到匹配的项目\n");
else
{
printf("%s\n", FileInfo.name);//输出文件名
/*fprintf(filepath, "data\\%s\n", FileInfo.name);*///将文件名输出到指定的txt文件
while (_findnext(Handle, &FileInfo) == 0)
/*_findnext这个函数顾名思义继续查找文件,查找成功返回0,失败返回-1*/
printf("%s\n", FileInfo.name);
/*fprintf(filepath, "data\\%s\n", FileInfo.name);*/
_findclose(Handle);
}
return 0;
}
参考:
1.c++批量读取文件------获取文件名
2.C++用 _findfirst 和 _findnext 查找文件