分页: 1 / 1

如何获取硬盘大小

发表于 : 2019-09-19 14:27
goldfox_79
有一个未分区的优盘接入计算机,哪个c函数能够获取优盘的大小 :Sad

Re: 如何获取硬盘大小

发表于 : 2019-09-22 21:38
astolia
如果没有特权
用标准文件函数读取/sys/block/sdX/size的内容,读出的文本结果转成整数再乘512就是总字节数

如果有特权

代码: 全选

int fd = open("/dev/sdX", O_RDONLY);
unsigned long long size = 0;
ioctl(fd, BLKGETSIZE64, &size);

Re: 如何获取硬盘大小

发表于 : 2019-09-23 9:47
goldfox_79
多谢 :Haha
astolia 写了: 2019-09-22 21:38 如果没有特权
用标准文件函数读取/sys/block/sdX/size的内容,读出的文本结果转成整数再乘512就是总字节数

如果有特权

代码: 全选

int fd = open("/dev/sdX", O_RDONLY);
unsigned long long size = 0;
ioctl(fd, BLKGETSIZE64, &size);