本周计划
完成文件的依次读取并且命名的修改
完成点云轨迹的绘制
1.完成文件的依次读取并且命名
文件的命名是这样的,依次排列,我们的目标是将其修改为1.pcd,2.pcd …,以下使用C++完成任务,以及记录下在这过程遇到的错误,参考的网址放在最下面
1.读取某个文件夹下面所有“.xxx”格式的文件,读取的函数在io.h中,用到的函数有这就要靠_findfirst、_findnext和_fineclose,接下来先来讲下这三个函数的作用
_findfirst函数原型为:long _findfirst( char *filespec, struct _finddata_t *fileinfo );
findfirst功能:搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L。
filespec:标明文件的字符串,可支持通配符。比如:*.c,则表示当前文件夹下的所有后缀为C的文件。
fileinfo :这里就是用来存放文件信息的结构体的指针。这个结构体必须在调用此函数前声明,不过不用初始化,只要分配了内存空间就可以了。函数成功后,函数会把找到的文件的信息放入这个结构体中。
_findnext的函数原型是: int _findnext( long handle, struct _finddata_t *fileinfo );
findnext功能:搜索与findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1
handle:即由_findfirst函数返回回来的句柄。
fileinfo:文件信息结构体的指针。找到文件后,函数将该文件信息放入此结构体中。
_findclose的函数原型是int _findclose( long handle );
_findclose的功能是关闭指定的搜索句柄并释放相关资源,成功返回0,失败返回-1
handle :_findfirst函数返回回来的句柄。
//文件的路径,也可以使用cin自己指定,例如cin>>path
char * filePath = "D:\\sample";
void getFiles( string path, vector& files )
{