windows C++ 遍历目录,获取文件名和文件路径
2017-07-27 16:30
651 查看
void GetFiles(string path, vector<string> &filesPath, vector<string>& filesName) { WIN32_FIND_DATAA ffd; memset(&ffd, 0, sizeof(ffd)); path.append("\\*"); HANDLE hFind = FindFirstFileA(path.c_str(), &ffd); do { if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (!strcmp(ffd.cFileName,".") || !strcmp(ffd.cFileName, "..")) continue; string newPath; newPath = path.append("\\").append(ffd.cFileName); GetFiles(newPath, filesPath, filesName); } else { char filePath[256] = { 0 }; sprintf_s(filePath, "%s/%s", path.c_str(), ffd.cFileName); filesName.push_back(ffd.cFileName); filesPath.push_back(filePath); } } while (FindNextFileA(hFind, &ffd) != 0); FindClose(hFind); }
#include <io.h> void GetFiles(string path, vector<string>& files, vector<string>& fileNames) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string p; if ((hFile = _findfirst(p.assign(path).append("\\*.jpg").c_str(), &fileinfo)) != -1) { do { //如果是目录,迭代之 //如果不是,加入列表 if ((fileinfo.attrib & _A_SUBDIR)) { if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) { string q; GetFiles(q.assign(path).append("\\").append(fileinfo.name), files, fileNames); } else continue; } else { string q; files.push_back(q.append(path).append("\\").append(fileinfo.name)); fileNames.push_back(fileinfo.name); } } while (_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } }
相关文章推荐
- windows C++ 遍历目录,获取文件名和文件路径
- windows下获取文件上传路径报错:java.io.FileNotFoundException: (文件名、目录名或卷标语法不正确。)
- windows下用c++和python遍历目录下的文件夹并删除所有文件名为xx的文件
- php 遍历文件夹及文件,获取文件名和文件路径存入数据库中
- Python批量打开文件以及获取文件名、目录及路径
- linux 获取文件路径中的目录路径和文件名
- windows平台C程序获取可执行程序路径及目录、文件名、扩展名
- windows 批处理 获取当前目录及子目录的所有文件路径
- C++程序中获取不带文件路径和后缀的文件名
- C/C++遍历目录下的所有文件(Windows/Linux)
- java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- C++ 通过文件路径获取文件名
- c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件
- C++遍历目录,并把目录里超过7天的文件删除(跨平台windows&linux)
- windows系统下使用FindFirstFile 和 FindNextFileA遍历某目录下的所有文件(c++编写)
- C++递归遍历获取某一目录下文件md5值
- C++获取目录下所有图像文件的文件名
- 获取指定目录下指定类型所有文件的全路径及文件名
- C/C++解析文件路径,获取盘符、路径、文件名及扩展名
- C++程序中获取不带文件路径和后缀的文件名