如何在C中找到已安装的USB闪存盘的大小?

And*_*rew 6 c linux embedded

我在嵌入式Linux系统(内核2.6.23)上安装了/ mnt的闪存驱动器设备(/ dev/sda1).使用C我如何计算出驱动器的大小?

unw*_*ind 8

在Linux上,如果您不担心可移植性(C不知道驱动器,那么任何此类特定代码将无法移植),请使用statfs():

  struct statfs fsb;

  if(statfs("/mnt", &fsb) == 0)
    printf("device has %ld blocks, each %ld bytes\n", fsb.f_blocks, fsb.f_bsize);
Run Code Online (Sandbox Code Playgroud)