按文件名顺序打开文件 C语言,按顺序读取文件夹所有文件并重命名

本周计划

完成文件的依次读取并且命名的修改

完成点云轨迹的绘制

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 )

{

你可能感兴趣的:(按文件名顺序打开文件,C语言)