2016-10-04 87 views

回答

0

这和/dev/disk/by-uuid/{your-uuid}一样简单。没有必要的C代码或库文件。

1

我想要一个程序化的方式来做到这一点,下面的工作。

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <err.h> 
#include <blkid/blkid.h> 
char *get_disk(char *disk) { 
    const char *uuid; 
    char query[4096]; 

    snprintf(query, sizeof(query), "UUID=%s", disk); 

    uuid = blkid_evaluate_tag(query, NULL, NULL); 

    if (uuid == NULL) { 
     uuid = ""; 
    } 

    return strdup(uuid); 
} 

int main(int argc, char **argv) 
{ 
    fprintf(stderr, "%s\n", get_disk(argv[1])); 
}