我正在尝试使用这些行在我的机器中找到块大小:
struct stat fi;
stat("/tmp, &fi);
BLOCK_SIZE = fi.st_blksize;
Run Code Online (Sandbox Code Playgroud)
BLOCK_SIZE表示单个块中的字节数或位数吗?
文件说:
"blksize_t st_blksize;/*blocksize for file system I/O*/"
如果您阅读此POSIX <sys/stat.h>参考,您会发现
结构
st_blocks成员的单位stat未在POSIX.1-2008中定义.在一些实现中,它是512字节.它可能因文件系统而异.有值之间没有相关性st_blocks,并st_blksize且,f_bsize(从<sys/statvfs.h>结构构件.
因此,虽然没有标准化的单位,st_blksize但它不太可能是比特.要获得实际单元,您必须研究当前的操作系统,甚至可能使用的文件系统.
在Linux的stat手册页没有明确提及的单位,但在该示例,它说的单位是字节.