- VB_using3methods_achieve_access_public_network_IP_ VB利用三种方法实现获取公网IP经典代码VB using three methods to achieve access to public network IP classic code
- delphi-Example4 delphi 实例
- dianchirongliang 用单片机制作电池容量测试源程序
- ScreenSnapshot 这是用Java写的截取屏幕的方法 并保存图片的方法
- BluetoothText_iOS7源代码 stm32蓝牙模块
- 795612 通过阅读这篇文档即能对Matlab中的神经网络工具箱的使用有所了解
文件名称:mydu.tar
-
所属分类:
- 标签属性:
- 上传时间:2012-11-16
-
文件大小:721byte
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
unix du命令的简单实现,主要可以学习glob函数的使用-static int64_t
mydu_getblocks(const char*path)
{
int i
int64_t sum=0
static struct stat stat_result
glob_t glob_result
static int ret
static char fullpath[PATHMAX]
if (lstat(path, &stat_result)<0) {
perror("lstat()")
return 0
}
if (!S_ISDIR(stat_result.st_mode)) {
return stat_result.st_blocks
}
/************************************************/
snprintf(fullpath, PATHMAX, " s/*", path)
ret = glob(fullpath, GLOB_NOCHECK|GLOB_NOSORT, NULL, &glob_result)
if (ret!=0) {
perror("glob()")
return 0
}
snprintf(fullpath, PATHMAX, " s/.*", path)
ret = glob(fullpath, GLOB_NOCHECK|GLOB_NOSORT|GLOB_APPEND, NULL, &glob_result)
if (ret!=0) {
perror("glob()")
return 0
}
sum+= stat_result.st_blocks
for (i=0 i<glob_result.gl_pathc ++i) {
if (isvalid(glob_result.gl_pathv[i])) {
sum+= mydu_getblocks(glob_result.gl_pathv[i])
}
}
globfree(&glob_result)
return sum
}
mydu_getblocks(const char*path)
{
int i
int64_t sum=0
static struct stat stat_result
glob_t glob_result
static int ret
static char fullpath[PATHMAX]
if (lstat(path, &stat_result)<0) {
perror("lstat()")
return 0
}
if (!S_ISDIR(stat_result.st_mode)) {
return stat_result.st_blocks
}
/************************************************/
snprintf(fullpath, PATHMAX, " s/*", path)
ret = glob(fullpath, GLOB_NOCHECK|GLOB_NOSORT, NULL, &glob_result)
if (ret!=0) {
perror("glob()")
return 0
}
snprintf(fullpath, PATHMAX, " s/.*", path)
ret = glob(fullpath, GLOB_NOCHECK|GLOB_NOSORT|GLOB_APPEND, NULL, &glob_result)
if (ret!=0) {
perror("glob()")
return 0
}
sum+= stat_result.st_blocks
for (i=0 i<glob_result.gl_pathc ++i) {
if (isvalid(glob_result.gl_pathv[i])) {
sum+= mydu_getblocks(glob_result.gl_pathv[i])
}
}
globfree(&glob_result)
return sum
}
(系统自动生成,下载前可以参看下载内容)
下载文件列表
mydu.c
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.