bet36体育备用_bet36体育投注-【点此进入】

中国教育在线 中国教育网 加入收藏 设为首页

Linux认证:Linux下获取磁盘信息办法

http://itpx.eol.cn  来源:  作者:Linux获取磁盘信息办法;Linux认证;Linux  2011-07-27    

  Linux认证:Linux下获取磁盘信息办法,熟悉Linux的都知道,Linux下硬盘的命名规则是had、hdb…sda、sdb之类的。但是,如何才能知道机器上到底有多少块硬盘呢?

  刚开始,我以为/dev目录下会有所体现结果我发现设备文件存在并不代表这个设备。那么怎么办才好呢。后来我发现fdisk可以得到硬盘的数量。于是就阅读了一下fdisk的源代码。果然找到了Linux获取硬盘数量的方法。实例代码如下:

  #include

  #include

  int GetDiskCount()

  {

  FILE* f = fopen(“/proc/partitions”, “r”);

  if (!f)

  {

  fprintf(stderr, “fopen /proc/partitions failed!errno=%d\n”, errno);

  return 0;

  }

  char line[100], ptname[100], devname[120], *s;

  int ma, mi, sz;

  int nDiskCount = 0;

  while (fgets(line, sizeof(line), f))

  {

  if (sscanf(line, “ %u %u %u %[^\n ]”,

  &ma, &mi, &sz, ptname) != 4)

  continue;

  for (s = ptname; *s; s++)

  continue;

  /* note: excluding ‘0’: e.g. mmcblk0 is not a partition name! */

  if (s[-1] 》= ‘1’ && s[-1] 《= ‘9’)

  continue;

  nDiskCount++;

  }

  fclose(f);

  return nDiskCount;

  }

  int main(int argc, char * argv[])

  {

  printf(“DiskCount: %d\n”, GetDiskCount());

  return 0;

  }

推荐给好友    我要收藏    我要纠错    分享到

相关资讯

免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

内容推荐
eol.cn简介 | 联系方式 | 网站声明 | 京ICP证140769号 | 京ICP备12045350号 | 京公网安备 11010802020236号
版权所有 北京中教双元科技集团有限公司 EOL Corporation
Mail to: webmaster@eol.cn