在C/C++中获取Linux中的磁盘标签
Getting disk label in Linux in C/C++
可能重复:
如何从用户空间中使用C在Linux中获取驱动器标签
在用C/C++编写的程序中,如何通过磁盘的文件名(例如/dev/sda1)获得磁盘的标签?
您可以对该命令的C或C++等价物进行编码:
find -L /dev/disk/by-label -inum $(stat -c %i /dev/sda1) -print
也就是说,stat()
是您关心的设备文件,并记住它的inode编号。通过label和stat()
遍历/dev/disk/中的所有文件。当inode编号匹配时,匹配文件的名称就是该磁盘的标签。
如果是我,我会用C++编写上述算法,使用Boost.Filesystem.
相关文章:
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- C 和 C++ 中开关语句的案例标签的常量值,但显示不同的行为
- 根据 GetLastError 直接写入磁盘会导致错误代码 5
- 如何正确指定 goto 语句的标签?
- 矢量和其他容器如何在磁盘上工作?
- 使用g++静态初始化带有命名标签的嵌套C++结构
- 如何从整个磁盘中排除要装载的一个文件
- 如何将 IPropertyBag 保存到磁盘
- 通过水平滚动条更改标签
- 防止临时对象文件访问 MSVC 中的磁盘
- 从 QFontDatabase 设置 QFont 将所有标签设置为等宽字体?Qt C++
- 在C++中存储要输入的标签列表
- 如何在等效列表中查找最小的连接标签
- 标签检测鼠标单击 c++
- 无法将行编辑中的文本打印到 Qt C++ 中的标签
- 如何根据C++中的标签运行特定函数?
- 即使使用 FILE_FLAG_DELETE_ON_CLOSE 属性创建文件,文件也会保留在磁盘上
- C++ Expat 仅打印元素的第一个字母和标签中的数据
- 默认标签显然在 switch 语句中不起作用
- 在C/C++中获取Linux中的磁盘标签