ディスクの空き容量を調べる
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));
}