disk_occ.c 492 B

123456789101112131415161718192021222324
  1. #include <stdio.h>
  2. int main()
  3. {
  4. FILE *fp;
  5. int h = 0;
  6. char buffer[80], a[80], d[80], e[80], f[80], buf[256];
  7. double c, b;
  8. double dev_total = 0, dev_used = 0;
  9. float occupy;
  10. fp = popen("df", "r");
  11. fgets(buf, 256, fp);
  12. while (6 == fscanf(fp, "%s %lf %lf %s %s %s", a, &b, &c, d, e, f))
  13. {
  14. dev_total += b;
  15. dev_used += c;
  16. }
  17. occupy = dev_used / dev_total * 100;
  18. printf("occupy:%f\n", occupy);
  19. pclose(fp);
  20. return occupy;
  21. }