path 文件名全路径输出 遍历文件夹

来源:互联网 发布:java 正则表达式语法 编辑:程序博客网 时间:2024/05/16 08:41
path 文件名全路径输出 遍历文件夹#include <afxwin.h>//project->settings->general->Use MFC in a shared DLL#include "windows.h"#include <string>#include <vector>#include <iostream>#include <fstream>using namespace  std;void FindAllFile(string _path, vector<string>& filenames){CString path = _path.c_str();CFileFind finder;BOOL working = finder.FindFile(path + "\\*.*");while (working){working = finder.FindNextFile();if (finder.IsDots())continue;if (finder.IsDirectory()){//递归遍历所有文件夹//CString::GetBuffer(0)=>stringFindAllFile(finder.GetFilePath().GetBuffer(0), filenames);} else {string filename = finder.GetFileName();filename = _path+"\\"+filename;filenames.push_back(filename);}}}int main(){vector<string> filenames;const char readFilePath[] = "C:\\Users\\careyjiang\\Desktop\\标准图像参考\\zjc";const char outFileName[] = "C:\\Users\\careyjiang\\Desktop\\imgList.txt"; //9月20日拍摄的二值化测试图像\\imgList.txt";string strReadFilePath = readFilePath;FindAllFile(strReadFilePath, filenames);ofstream o_file;o_file.open(outFileName);for (vector<string>::iterator itr = filenames.begin(); itr != filenames.end();itr++){if (itr->substr(itr->find_last_of("."),itr->npos) == ".bmp"){//string fullPath = strReadFilePath+ "\\" + (*itr);o_file<<*itr<<"\n";}}o_file.close();}