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

path 文件名全路径输出 遍历文件夹
#include //project->settings->general->Use MFC in a shared DLL
#include "windows.h"
#include 
#include 
#include 
#include 

using namespace  std;
void FindAllFile(string _path, vector& 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 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::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();
}


 
 

你可能感兴趣的:(C++,知识点)