Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1298074
  • 博文数量: 436
  • 博客积分: 7854
  • 博客等级: 少将
  • 技术积分: 3225
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-18 16:30
文章分类

全部博文(436)

文章存档

2013年(2)

2012年(56)

2011年(70)

2010年(308)

分类:

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命令

阅读(1116) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~