版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
/** * 功能:删除文件夹,包括子文件夹、子文件,windows * 说明:要谨慎使用 */ void DeleteDir(LPCTSTR lpszDir) { WIN32_FIND_DATA wfd; TCHAR szFile[MAX_PATH]; TCHAR szDelDir[MAX_PATH]; if (strlen(lpszDir) == 0) { return; } lstrcpy(szDelDir, lpszDir); wsprintf(szFile, TEXT("%s\\*.*"), lpszDir); HANDLE hFindFile = FindFirstFile(szFile, &wfd); if ( INVALID_HANDLE_VALUE == hFindFile ) { return; } BOOL bFind = TRUE; while ( bFind ) { bFind = FindNextFile(hFindFile, &wfd); if ( lstrcmpi(wfd.cFileName, TEXT(".")) == 0 || lstrcmpi(wfd.cFileName, TEXT("..")) == 0 ) { continue; } wsprintf(szFile, TEXT("%s\\%s"), szDelDir, wfd.cFileName); if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) { DeleteDir(szFile); } else { DeleteFile(szFile); } } FindClose(hFindFile); RemoveDirectory(szDelDir); }