当前位置: 技术问答>linux和unix
大家好,小妹请教个问题-----linux 如何取得磁盘扇区的大小
来源: 互联网 发布时间:2017-05-13
本文导语: To All: 请问大家,linux下如何通过调用函数取得磁盘扇区的大小? 我有两种方法:1)fdisk -l 输出 Units = cylinders of 16065 * 512 = 8225280 bytes。512就是扇区的大小,可是我不知道它掉的...
To All:
请问大家,linux下如何通过调用函数取得磁盘扇区的大小?
我有两种方法:1)fdisk -l 输出 Units = cylinders of 16065 * 512 = 8225280
bytes。512就是扇区的大小,可是我不知道它掉的什么函数?
2)通过 ioctl 实现。但是输出的值不是512. 请问怎么回事?
下面为方法2的代码
请问大家,linux下如何通过调用函数取得磁盘扇区的大小?
我有两种方法:1)fdisk -l 输出 Units = cylinders of 16065 * 512 = 8225280
bytes。512就是扇区的大小,可是我不知道它掉的什么函数?
2)通过 ioctl 实现。但是输出的值不是512. 请问怎么回事?
下面为方法2的代码
#include
using namespace std;
#include
#include
#include
#include
#define diskname "/dev/sda2"
int main ()
{
int fd = open(diskname, O_RDONLY);
int64_t size;
if(fd == -1)
{
cout