path 文件名全路徑輸出 遍歷文件夾

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章