[英]How do I find the size of mounted USB flash drive in C?
我在嵌入式Linux系統(內核2.6.23)上安裝了/ mnt的閃存驅動器設備(/ dev / sda1)。 使用C我如何計算出驅動器的大小?
在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);
讀取並解析設備的sysfs條目中的數字。 在你的情況下,
/sys/block/sda/size
/sys/block/sda/sda1/size
該設備不必安裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.