c++遍历某个路径下的所有文件
2017-10-17 17:01
267 查看
正确的代码如下,注意,路径需要用char*格式,否则会出现读不出来的错误。
findfirst函数文档如下:
_findfirst函数:long _findfirst(const char *, struct _finddata_t *);
第一个参数为文件名,可以用"*.*"来查找所有文件,也可以用"*.cpp"来查找.cpp文件。第二个参数是_finddata_t结构体指针。若查找成功,返回文件句柄,若失败,返回-1。
然后,_findnext函数:int _findnext(long, struct _finddata_t *);
第一个参数为文件句柄,第二个参数同样为_finddata_t结构体指针。若查找成功,返回0,失败返回-1。
最后:_findclose()函数:int _findclose(long);
[2].用 _findfirst 和 _findnext 查找文件(windows可用) .http://blog.sina.com.cn/s/blog_56d8ea900100yejj.html
findfirst函数文档如下:
_findfirst函数:long _findfirst(const char *, struct _finddata_t *);
第一个参数为文件名,可以用"*.*"来查找所有文件,也可以用"*.cpp"来查找.cpp文件。第二个参数是_finddata_t结构体指针。若查找成功,返回文件句柄,若失败,返回-1。
然后,_findnext函数:int _findnext(long, struct _finddata_t *);
第一个参数为文件句柄,第二个参数同样为_finddata_t结构体指针。若查找成功,返回0,失败返回-1。
最后:_findclose()函数:int _findclose(long);
int main() { struct info *str1; struct info s; long Handle; struct _finddata_t FileInfo; char* dir = "samplepicture\\*.*"; int count = 1; if ((Handle = _findfirst(dir, &FileInfo)) == -1L) printf("没有找到匹配的项目\n"); else { string File = FileInfo.name; string FileName = c_PATH + File; char* Filename = (char*)FileName.data(); cout << "第" << count << "个" << FileInfo.name << "文件" << endl; //str1 = ReadXML(Filename); //cout << s.name << " " << s.xmin << " " << s.xmax << " " << s.ymin << " " << s.ymax << endl; while (_findnext(Handle, &FileInfo) == 0) { count++; cout << FileInfo.name << endl; string File = FileInfo.name; string FileName = c_PATH + File; char* Filename = (char*)FileName.data(); //cout << FileName << endl; cout << "第" << count << "个.xml文件" << endl; // str1 = ReadXML(Filename); // cout << s.name << " " << s.xmin << " " << s.xmax << " " << s.ymin << " " << s.ymax << endl; } _findclose(Handle); } cout << count << endl; //productXML(); system("pause"); return 0; }
参考文献
[1].c++遍历某个路径下的所有文件.http://bbs.csdn.net/topics/390368005/[2].用 _findfirst 和 _findnext 查找文件(windows可用) .http://blog.sina.com.cn/s/blog_56d8ea900100yejj.html
相关文章推荐
- c++遍历查找文件夹路径下的所有文件(比如.txt) 使用的是MFC的CFileFind类
- x64下vs2013 C++遍历目录下所有文件使用_findnext()调试时中断
- C++ 遍历文件夹下面所有文件
- c++遍历目录下所有子目录及文件
- VBS遍历文件或文件夹路径输入文件的所有绝对路径(附源码)
- 在java中如何遍历某个路径下的所有文件夹和文件
- 递归遍历某一路径下的所有文件
- windows下用c++和python遍历目录下的文件夹并删除所有文件名为xx的文件
- 遍历指定文件下所有的文件夹和文件的路径,文件名,修改日期,类型
- shell递归遍历某路径下所有的文件
- php遍历指定路径下的所有文件和文件夹
- C#磁盘类型判断 所有磁盘遍历出所有文件夹及文件夹路径 所有文件及文件路径
- java.io.File类基本使用——遍历某路径的所有文件夹及文件
- C++ 遍历文件夹下所有的文件
- iOS - 遍历指定路径下的所有文件(不包括更下级文件)
- Linux下 C++遍历目录下所有文件
- C++ 遍历文件夹以及子文件夹下所有文件
- 遍历目录所有文件并找出大小为0的文件路径 的脚本
- 利用递归算法遍历所有文件并打印文件绝对路径(包括文件夹)
- 遍历一个指定路径下的所有文件