BOOL COperateFile::CreateTempFolder(char *lpTempFolder)
{
char lpTempFolderBuffer[MAX_PATH] = "\0";
SHGetSpecialFolderPath(NULL,lpTempFolderBuffer,CSIDL_COMMON_DOCUMENTS,TRUE);
if (!IsEndWithBackslash(lpTempFolderBuffer))
{
strcat(lpTempFolderBuffer,"\\");
}
strcat(lpTempFolderBuffer,_T("TempTest"));
//create multiple level folder
BOOL bOK = CreateMultipleLevelDirectory(lpTempFolderBuffer);
if (bOK)
{
strcpy(lpTempFolder,lpTempFolderBuffer);
}
return TRUE;
}
BOOL COperateFile::CreateMultipleLevelDirectory( char * lpMultipleFolder )
{
char lpTempFolder[MAX_PATH] = "\0";
char lpDir[MAX_PATH] = "\0";
strcpy(lpDir,lpMultipleFolder);
if (!strcmp(lpDir,"\0"))
{
return FALSE;
}
if (IsEndWithBackslash(lpDir))
{
strcpy(lpDir + strlen(lpDir) - 1 ,"\0");
}
while(strlen(lpTempFolder) < strlen(lpDir))
{
char lpTempDir[MAX_PATH] = "\0";
strcpy(lpTempDir,lpDir);
char* lpTemp = strchr(lpTempDir + strlen(lpTempFolder),'\\');
if (lpTemp)
{
strcpy(lpTemp + 1,"\0");
}
if (!PathFileExists(lpTempDir))
{
BOOL bOK = CreateDirectory(lpTempDir,NULL);
if (!bOK)
{
char lpMsg[MAX_PATH] = "\0";
sprintf(lpMsg,_T("Fail to create directory : %s"),lpTempDir);
OutputDebugString(lpMsg);
}
}
strcpy(lpTempFolder,lpTempDir);
}
return TRUE;
}
BOOL COperateFile::IsEndWithBackslash( char* lpFolder )
{
if (!strcmp(lpFolder,"\0"))
{
return FALSE;
}
int nsize = strlen(lpFolder);
if (!strcmp((lpFolder + nsize -1),"\\"))
{
return TRUE;
}
return FALSE;
}
新建临时文件夹,新建多级目录
最新推荐文章于 2021-12-30 01:11:04 发布