gpt4 book ai didi

c++ - 通过 C++ 获取 micro SD 卡的大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:22 24 4
gpt4 key购买 nike

我正在寻找一些函数来返回安装到/dev/sdb 的微型 SD 卡的总容量。我不太关心可用空间,我关心驱动器的总容量。我需要一个可靠而准确的功能。如果不存在,我将如何创建一个?

谢谢!

最佳答案

跟踪 blockdev告诉我你可以使用:

#include <iostream>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <sys/ioctl.h>
#include <linux/fs.h>

int main()
{
unsigned long long size;
int fd = open("/dev/sdx", O_RDONLY);
ioctl(fd, BLKGETSIZE64, &size);

std::cout << size << std::endl;
std::cout << (size>>20) << std::endl; // MiBytes
}

(用设备节点名替换sdx)

注意 更喜欢使用 uint64_t如果你的编译器已经支持它(包括 <cstdint> )

关于c++ - 通过 C++ 获取 micro SD 卡的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7829300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com