在C/C++中获取Linux中的磁盘标签

Getting disk label in Linux in C/C++

本文关键字:磁盘 标签 Linux 获取 C++      更新时间:2023-10-16

可能重复:
如何从用户空间中使用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.