您的位置:首页 > 编程语言 > C语言/C++

C++代码功能块备忘

2012-12-11 15:55 447 查看
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<<FindFileData.cFileName<<endl;
}
if(!FindNextFileA(hFind,&FindFileData)) {
break;
}
}
FindClose(hFind);
}


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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: