//--------------------------------------------------------------------------------- // 名字: TraverseFolder::ClearFolder(LPCSTR path) // 功能: 清空一个文件夹中的所有文件 //--------------------------------------------------------------------------------- bool TraverseFolder::ClearFolder(LPCSTR path) { WIN32_FIND_DATA findData; HANDLE hError = NULL; char FilePathName[MAX_PATH] = ""; char FullPathName[MAX_PATH] = ""; strcpy(FilePathName,path); strcat(FilePathName,"\\*.*"); hError = FindFirstFile(FilePathName,&findData); if( hError == INVALID_HANDLE_VALUE ) { std::cout<<"Find file failed"<<std::endl; return false; } while( ::FindNextFile(hError,&findData)) { if( strcmp(findData.cFileName,".")==0 || strcmp(findData.cFileName,"..")==0) continue; sprintf(FullPathName,"%s\\%s",path,findData.cFileName); if( findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { ClearFolder(FullPathName); RemoveDirectory(FullPathName); } else { DeleteFile(FullPathName); } } ::FindClose(hError); return true; }
//清除玩家数据的临时存盘目录内的全部文件 void KUiBase::CleanTempDataFolder() { ClearFolder(UI_USER_DATA_TEMP_FOLDER, false); }
//清除当前玩家私有数据的存储目录 void KUiBase::CleanPrivateDataFolder() { char szBuffer[128]; sprintf(szBuffer, "%s\\%s", UI_USER_DATA_FOLDER, m_UserAccountId); ClearFolder(szBuffer, true); }