当前位置:  技术问答>linux和unix

小妹儿-请问大家 如何获得linux 的卷标[label]

    来源: 互联网  发布时间:2017-04-17

    本文导语:  To All: 请问如何获得 Linux的卷标通过编程或者系统函数,不要命令。 谢谢。 | 首先,我们知道blkid这条命令可以打印磁盘分区的卷标。 好,找一下blkd用了什么方式做的: serval@ubuntu:~$ which blk...

To All:
请问如何获得 Linux的卷标通过编程或者系统函数,不要命令。
谢谢。

|
首先,我们知道blkid这条命令可以打印磁盘分区的卷标。
好,找一下blkd用了什么方式做的:
serval@ubuntu:~$ which blkid | xargs ldd
linux-gate.so.1 =>  (0xb771a000)
libblkid.so.1 => /lib/i386-linux-gnu/libblkid.so.1 (0xb76d9000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7530000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb7529000)
/lib/ld-linux.so.2 (0xb771b000)
看起来用了一个库libblkid,于是到网上找这个库的用法:
http://stackoverflow.com/questions/6748429/using-libblkid-to-find-uuid-of-a-partition

最后,照葫芦画瓢写出代码:

#include 
#include 
#include 
#include 

int main(int argc, char **argv)
{
blkid_probe pr;
const char *label;

if(argc != 2) {
fprintf(stderr, "Usage: %s devnamen", argv[0]);
exit(1);
}

pr = blkid_new_probe_from_filename(argv[1]);
if(!pr) {
err(2, "fail to open %s", argv[1]);
}

blkid_do_probe(pr);
blkid_probe_lookup_value(pr, "LABEL", &label, NULL);
printf("label = %sn", label);
blkid_free_probe(pr);

return 0;

}

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • adsl 宽带 能否同时在一台服务器上使用吗?小妹在线等候?
  • 求救,关于crontab,小妹不胜感激
  • sqlserver iis7站长之家
  • GG.DD,还有女同胞们帮帮我吧!!!!小妹在此表示感谢了!!!UP也可.....
  • 大家来帮小妹看看……
  • 请教apache server,小妹这厢有礼乐
  • 急!各位大虾谁来帮忙?小妹感激不尽!!
  • 小妹问大家一个问题!求你们了!踊跃点!UP也有分的!!
  • 急!小妹请教大家关于QT的问题??
  • 谁来帮帮小妹,有关developer cafe的问题!!!!!
  • 小妹问个初级问题,别笑呀!~!
  • 请教一个常识问题,小妹谢谢各位!
  • 大家帮帮小妹吧!!!
  • 帮帮吾小妹!如何用命令显示cpu类型和运行速度?
  • 请给我讲讲clone()方法究竟怎么复制对象,小妹谢谢大虾们了!
  • java基础问题,小妹先谢谢了
  • 关于在Linux下,运行程序的问题?请大家帮助小妹呀,在线等,谢谢!
  • TURBO LINUX 中FTP的问题!请大峡吧帮帮小妹~~~~~
  • linuxES3.0下 WebSphere进程经常自动停止问题? 小妹先谢了
  • 小妹被石绊倒


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,