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

标签 c++ c linux

<分区>

Possible Duplicate:
How to get drive label in Linux using C from userspace

在用C/C++编写的程序中,如何通过文件名(例如/dev/sda1)获取磁盘的标签?

最佳答案

您可以编写与此命令等效的 C 或 C++ 代码:

find -L /dev/disk/by-label -inum $(stat -c %i /dev/sda1) -print

也就是stat()你关心的设备文件,记住它的inode号。遍历/dev/disk/by-label 中的所有文件,并对每个文件进行 stat()。当 inode 号匹配时,则匹配的文件名就是该磁盘的标签。

如果是我,我会用 C++ 编写上述算法,使用 Boost.Filesystem .

关于c++ - 在 C/C++ 中获取 Linux 中的磁盘标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178360/

相关文章:

c++ - 每个进程可配置的核心转储目录

c++ - 如何识别类类型以将shared_ptr强制转换为该类型

c - 错误 : array type has incomplete element type; dynamic 2D array

c - 如何让多个进程同时读取同一个文件会减慢读取速度?

c - 如果我重复运行这个程序,为什么在 seg-fault 之前打印的最后一个数字会有所不同?

linux - Linux 中 qt 设计器中的错误消息

c++ - 传递值作为对构造函数/函数的引用

c++ - 从另一个线程唤醒 QThread::exec()

c - 在 scanf 中传递但不在 printf 中传递的地址

c - Linux dladdr1() : Unable to get absolute pathname of the matched file