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)=>string FindAllFile(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(); }