1. 遍历文件中图片,包括文件有文件的情况:
void find(char *lpPath)
{
char szFind[MAX_PATH];
char szFile[MAX_PATH];
WIN32_FIND_DATAA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"/*.*");
HANDLE hFind = ::FindFirstFileA(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return ;
while(TRUE){
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(FindFileData.cFileName[0] != '.'){
strcpy(szFile,lpPath);
strcat(szFile,"/");
strcat(szFile,FindFileData.cFileName);
find(szFile);
}
}
else
{
cout<2. 创建文件夹,如果没有创建,有则不创建:
CreateDirectory(buffer,NULL);
其中buffer需要为LPCWSTR类型的路径,从string 转到 LPCWSTR类型看如下代码:
3. 从string到LPCWSTR:
size_t size= path.length();
wchar_t *buffer = new wchar_t[size+1];
MultiByteToWideChar(CP_ACP,0,path.c_str(),size,buffer,size*sizeof(wchar_t));
buffer[size] = 0;
其中path为string类型的路径,最后用完buffer后记得delete
delete buffer;