当前位置: 技术问答>linux和unix
求教:在Linux下的C语言中如何获取分区的剩余大小和文件的大小
来源: 互联网 发布时间:2015-03-20
本文导语: 本人在linux下编程需要返回磁盘分区的剩余空间大小,以及比较方便的获得文件的大小,分区格式为fat32格式。望哪位有经验的人给予回答。 | #include int statfs(const char *path, struct...
本人在linux下编程需要返回磁盘分区的剩余空间大小,以及比较方便的获得文件的大小,分区格式为fat32格式。望哪位有经验的人给予回答。
|
#include
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
DESCRIPTION
statfs returns information about a mounted file system. path is the path name of
any file within the mounted filesystem. buf is a pointer to a statfs structure
defined as follows:
struct statfs {
long f_type; /* type of filesystem (see below) */
long f_bsize; /* optimal transfer block size */
long f_blocks; /* total data blocks in file system */
long f_bfree; /* free blocks in fs */
long f_bavail; /* free blocks avail to non-superuser */
long f_files; /* total file nodes in file system */
long f_ffree; /* free file nodes in fs */
fsid_t f_fsid; /* file system id */
long f_namelen; /* maximum length of filenames */
long f_spare[6]; /* spare for later */
};
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
DESCRIPTION
statfs returns information about a mounted file system. path is the path name of
any file within the mounted filesystem. buf is a pointer to a statfs structure
defined as follows:
struct statfs {
long f_type; /* type of filesystem (see below) */
long f_bsize; /* optimal transfer block size */
long f_blocks; /* total data blocks in file system */
long f_bfree; /* free blocks in fs */
long f_bavail; /* free blocks avail to non-superuser */
long f_files; /* total file nodes in file system */
long f_ffree; /* free file nodes in fs */
fsid_t f_fsid; /* file system id */
long f_namelen; /* maximum length of filenames */
long f_spare[6]; /* spare for later */
};
|
#include
#include
#include
int stat(const char *file_name, struct stat *buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *file_name, struct stat *buf);
#include
#include
int stat(const char *file_name, struct stat *buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *file_name, struct stat *buf);