ディスクの空き容量を調べる
C言語を使ってディスクの空き容量を調べるには,statvfsを使う.Solarisで動作確認済み.
#include <stdio.h> #include <sys/statvfs.h> #include <sys/types.h> main(){ struct statvfs buf; statvfs(".",&buf); printf("frsize(byte/block): %lu\n",buf.f_frsize); /* バイト/ブロック */ printf("fblocks(block): %lu\n",buf.f_blocks); /* 総ブロック数 */ printf("bavail(block): %lu\n",buf.f_bavail); /* 使用可能ブロック数 */ printf("-------------------------\n"); printf("available(kbyte): %4.0f\n",(float)buf.f_frsize*buf.f_bavail/1024); printf("all(kbyte): %4.0f\n",(float)buf.f_frsize*buf.f_blocks/1024); printf("free %4.1f%%\n",100-((float)buf.f_bfree/buf.f_blocks*100)); }