windows 计算目录大小
2015-12-13 00:27
429 查看
void DirectoryInfo::CalculateSize(std::string _path)
{ WIN32_FIND_DATAA data;
HANDLE sh = NULL;
sh = FindFirstFileA((_path+"\\*").c_str(), &data);
if (sh == INVALID_HANDLE_VALUE )
{ return; }
do { // skip current and parent if (std::string(data.cFileName).compare(".") != 0 && std::string(data.cFileName).compare("..") != 0) { // if found object is ... if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY) { // directory,
then search it recursievly this->CalculateSize(_path+"\\"+data.cFileName); } else { // otherwise get object size and add it to directory size this->dirSize += (__int64) (data.nFileSizeHigh * (MAXDWORD ) + data.nFileSizeLow); } } }
while (FindNextFileA(sh, &data)); // do FindClose(sh); }
{ WIN32_FIND_DATAA data;
HANDLE sh = NULL;
sh = FindFirstFileA((_path+"\\*").c_str(), &data);
if (sh == INVALID_HANDLE_VALUE )
{ return; }
do { // skip current and parent if (std::string(data.cFileName).compare(".") != 0 && std::string(data.cFileName).compare("..") != 0) { // if found object is ... if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY) { // directory,
then search it recursievly this->CalculateSize(_path+"\\"+data.cFileName); } else { // otherwise get object size and add it to directory size this->dirSize += (__int64) (data.nFileSizeHigh * (MAXDWORD ) + data.nFileSizeLow); } } }
while (FindNextFileA(sh, &data)); // do FindClose(sh); }
相关文章推荐
- sc创建服务
- SQLite Tutorial 5 : How to Import CSV or Excel file into SQLite database
- 树莓派之web服务器搭建
- windows 追踪ip工具
- char*转换为string^
- hackthename<第四关>
- Centos上传下载小工具lrzsz
- string 转char*
- C++及Windows异常处理(try,catch; __try,__finally; __try, __except)——一道笔试题引起的探究
- linux学习笔记:用户及权限管理
- JOptionPane类提示框的一些常用的方法
- 标准c判断目录是否存在
- PNG
- lightoj1426 Blind Escape
- maven导入及错误 cvs导入更新 myeclipse速度优化 myeclipse 右键菜单 add hibernate
- MongoDB在Windows下的环境配置和使用
- 解决json_encode中文UNICODE转码问题
- Let EXE call Dll source in VS2010 (VS2010Dll调试方法)
- visual studio 2010 之三 独立MSDN安装完全教程(还原原来的msdn面孔)
- 用exe4j把java打包成exe