获取linux下面系统磁盘剩余空间,可以用statfs.
需要include 头文件#include
但是这个api只能获取到4G以内的空间,现在市面上流行的硬盘早已超过4G了,所以我采用了long long 来获取.
long long RestFlashSize = 0;
struct statfs buf;
statfs("/mnt/userfs", &buf);
RestFlashSize = (long long)buf.f_bavail*(long long)buf.f_bsize;
查看RestFlashSize 用%lld
printf("UserFs FreeSize=%lld\n", RestFlashSize);
注意,statfs的buf参数,f_bavail和f_bsize都是long型的.如果不强制转化成unsigned long型是不能获取到超过4G的剩余空间的.
阅读(1780) | 评论(0) | 转发(0) |