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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值