首页 > 其他 > 详细

获取文件或是文件夹的大小和占用空间

时间:2016-01-20 17:18:52      阅读:182      评论:0      收藏:0      [点我收藏+]
 1 //Get size of a whole dir
 2 //return bytes
 3 DWORD64 GetFolderSize(LPCTSTR szPath, DWORD *dwFiles, DWORD *dwFolders)
 4 {
 5  TCHAR szFileFilter[512];
 6  TCHAR szFilePath[512];
 7  HANDLE hFind = NULL;
 8  WIN32_FIND_DATA fileinfo;
 9  DWORD64    dwSize = 0;
10  
11  strcpy(szFilePath,szPath);
12  strcat(szFilePath,"\");
13  strcpy(szFileFilter,szFilePath);
14  strcat(szFileFilter,"*.*");
15  
16  hFind = FindFirstFile(szFileFilter,&fileinfo);
17  do
18  {
19   if(fileinfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
20   {
21    if (!strcmp(fileinfo.cFileName,".") || !strcmp(fileinfo.cFileName,".."))
22    {
23     //Do nothing for "." and ".." folders
24    }
25    else
26    {
27     TCHAR sztmp[512];
28     strcpy(sztmp,szFilePath);
29     strcat(sztmp,fileinfo.cFileName);
30     dwSize = dwSize + GetFolderSize(sztmp);
31     if(dwFolders != NULL)
32     {
33      ++(*dwFolders);
34     }
35    }
36   }
37   else
38   {
39    if(dwFiles != NULL)
40    {
41     ++(*dwFiles);
42    }
43   }
44  
45   dwSize += fileinfo.nFileSizeLow;
46  
47  }while(FindNextFile(hFind,&fileinfo));
48  
49  FindClose(hFind);
50  return dwSize;
51 }

获取文件或是文件夹的大小和占用空间

原文:http://www.cnblogs.com/chechen/p/5145638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!