文件名称:mydu.tar

  • 所属分类:
  • Linux/Unix编程
  • 资源属性:
  • [Linux] [C/C++] [源码]
  • 上传时间:
  • 2012-11-26
  • 文件大小:
  • 1kb
  • 下载次数:
  • 0次
  • 提 供 者:
  • aa***
  • 相关连接:
  • 下载说明:
  • 别用迅雷下载,失败请重下,重下不扣分!

介绍说明--下载内容均来自于网络,请自行研究使用

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
mydu
linux
my
mydu
unix

(系统自动生成,下载前可以参看下载内容)

下载文件列表

65695314mydu.tar

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度更多...
  • 请直接用浏览器下载本站内容,不要使用迅雷之类的下载软件,用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.

相关评论

暂无评论内容.

发表评论

*主  题:
*内  容:
*验 证 码:

源码中国 www.ymcn.org