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




版权声明:本文为xiucaijiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。