分类:
2010-04-29 22:46:40
// 计算硬盘使用百分比 int Df( const char* pcDevice, struct HddState* pstHdd ) { if( NULL == pcDevice || NULL == pstHdd ) return ERROR_NULL; struct statfs stVfs; memset( &stVfs, 0, sizeof( stVfs ) ); if( -1 == statfs( pcDevice, &stVfs ) ) return ERROR_INVALID; // stVfs.f_block == 系统当前有多少个块 // stVfs.f_bavail == 系统当前可用的块为多少( 不包括超级块 ) // stVfs.f_bsize == 系统当前使用的块为多少字节 // 注: 必须先算除,再算乘,否则超界 pstHdd->lTotal = stVfs.f_blocks * ( stVfs.f_bsize / 1024 ); pstHdd->lAvail = stVfs.f_bavail * ( stVfs.f_bsize / 1024 ); return SUCCESS; }
---------------------------
使用statfs函数或者df命令