//---------------------------------------------------------------------------------
// 名字: 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;
	
}
示例#2
0
文件: UiBase.cpp 项目: viticm/pap2
//清除玩家数据的临时存盘目录内的全部文件
void KUiBase::CleanTempDataFolder()
{
	ClearFolder(UI_USER_DATA_TEMP_FOLDER, false);
}
示例#3
0
文件: UiBase.cpp 项目: viticm/pap2
//清除当前玩家私有数据的存储目录
void KUiBase::CleanPrivateDataFolder()
{
	char	szBuffer[128];
	sprintf(szBuffer, "%s\\%s", UI_USER_DATA_FOLDER, m_UserAccountId);
	ClearFolder(szBuffer, true);
}