| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- #include "pch.h"
 
- #include "filehelper.h"
 
- #include <shlwapi.h>
 
- // 排序和乱序使用stl;
 
- #include <cstdlib>
 
- #include <ctime>
 
- #include <algorithm>
 
- // _mkdir头文件;
 
- #include <direct.h>
 
- int myrandom(int i) { return std::rand() % i; }
 
- filehelper::filehelper(void)
 
- {
 
- 	
 
- }
 
- filehelper::~filehelper(void)
 
- {
 
- }
 
- /************************************************************************/
 
- /*  函数:[2/21/2017 Jeff];
 
- /*  描述:;
 
- /*  参数:;
 
- /*  	[IN] :;
 
- /*  	[OUT] :;
 
- /*  	[IN/OUT] :;
 
- /*  返回:void;
 
- /*  注意:;
 
- /*  示例:;
 
- /*
 
- /*  修改:;
 
- /*  日期:;
 
- /*  内容:;
 
- /************************************************************************/
 
- void filehelper::random(IN STR_VEC& vtContent, IN BOOL bSort /* = TRUE */)
 
- {
 
- 	if (bSort)
 
- 	{//排序;
 
- 		std::sort(vtContent.begin(), vtContent.end());
 
- 	}
 
- 	else
 
- 	{//乱序;
 
- 		//设置随即数生成器的种子;
 
- 		std::srand(unsigned(std::time(0)));
 
- 		std::random_shuffle(vtContent.begin(), vtContent.end(), myrandom);
 
- 	}
 
- }
 
- /************************************************************************/
 
- /*  函数:[2/21/2017 Jeff];
 
- /*  描述:;
 
- /*  参数:;
 
- /*  	[IN] :;
 
- /*  	[OUT] :;
 
- /*  	[IN/OUT] :;
 
- /*  返回:void;
 
- /*  注意:;
 
- /*  示例:;
 
- /*
 
- /*  修改:;
 
- /*  日期:;
 
- /*  内容:;
 
- /************************************************************************/
 
- void filehelper::split(OUT vector<TString>& vtSplit, IN const TString str, IN const TString strSplit)
 
- {
 
- 	if (str.size() == 0 || strSplit.size() == 0)
 
- 		return;
 
- 	INT nIndex = 0;
 
- 	vtSplit.clear();
 
- 	TString strtmp = str;
 
- 	TString strtmp2;
 
- 	do 
 
- 	{
 
- 		if (TString::npos != (nIndex = strtmp.find_first_of(strSplit)))
 
- 		{
 
- 			strtmp2 = strtmp.substr(0, nIndex);
 
- 			if (strtmp2.size())vtSplit.push_back(strtmp2);
 
- 			strtmp = strtmp.substr(nIndex + strSplit.size());
 
- 		}
 
- 	} while (strtmp.find_first_of(strSplit) != TString::npos);
 
- 	if (strtmp.size())
 
- 		vtSplit.push_back(strtmp);
 
- }
 
- //////////////////////////////////////////////////////////////////////////
 
- BOOL filehelper::getsubfolder(LPCTSTR lpfolder, STR_VEC *pvtfolders)
 
- {
 
- 	// 路径不存在;
 
- 	if (!PathFileExists(lpfolder))
 
- 		return FALSE;
 
- 	// 指针空;
 
- 	if (pvtfolders == NULL) return FALSE;
 
- 	m_pvtfolders = pvtfolders;
 
- 	findsubfolder(lpfolder);
 
- 	return TRUE;
 
- }
 
- //////////////////////////////////////////////////////////////////////////
 
- BOOL filehelper::getallfiles(LPCTSTR lpfolder, LPCTSTR lpfindext, STR_VEC *pvtfiles)
 
- {
 
- 	// 路径不存在;
 
- 	if (!PathFileExists(lpfolder))
 
- 		return FALSE;
 
- 	// 指针空;
 
- 	if (pvtfiles == NULL) return FALSE;
 
- 	m_pvtfiles = pvtfiles;
 
- 	findfiles_findin_subfolder(lpfolder);
 
- 	return TRUE;
 
- }
 
- BOOL filehelper::getfolderfiles(LPCTSTR lpfolder, LPCTSTR lpfindext, STR_VEC *pvtfiles)
 
- {
 
- 	// 路径不存在;
 
- 	if (!PathFileExists(lpfolder))
 
- 		return FALSE;
 
- 	// 指针空;
 
- 	if (pvtfiles == NULL) return FALSE;
 
- 	m_pvtfiles = pvtfiles;
 
- 	findfiles_findout_subfolder(lpfolder);
 
- 	return TRUE;
 
- }
 
 
  |