c_cpp 基于uuid_generate_random(...)函数的UUID生成器 - 参见uuid(3)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 基于uuid_generate_random(...)函数的UUID生成器 - 参见uuid(3)相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <uuid/uuid.h>
int main(int argc, char **argv) {
int c;
int upper = 0;
int dashed = 0;
if (argc > 1) {
while ((c = getopt(argc, argv, "dhu")) != -1) {
switch (c) {
case 'd':
dashed++;
break;
case 'h':
fprintf(stderr, "Usage: %s [option...]\n\nArguments:\n " \
"-d\tPrint uuid string with dash separators\n " \
"-u\tPrint uuid with UPPERCASE hexadecimal characters\n", argv[0]
);
return 2;
case 'u':
upper++;
break;
case '?':
fprintf(stderr, "Unrecognized option: '-%c'\n", optopt);
return 1;
}
}
}
uuid_t uu;
uuid_generate_random(uu);
if (dashed) {
if (upper) {
uuid_string_t uu_str;
uuid_unparse_upper(uu, (char *)uu_str);
printf("%s\n", uu_str);
} else {
uuid_string_t uu_str;
uuid_unparse_lower(uu, (char *)uu_str);
printf("%s\n", uu_str);
}
} else {
if (upper) {
for (size_t i = 0; i < sizeof(uu); i++) {
printf("%.2X", uu[i]);
}
printf("\n");
} else {
for (size_t i = 0; i < sizeof(uu); i++) {
printf("%.2x", uu[i]);
}
printf("\n");
}
}
}
以上是关于c_cpp 基于uuid_generate_random(...)函数的UUID生成器 - 参见uuid(3)的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 基于Caffe c ++批量预测
c_cpp 基于样本的图灵虚拟机c
c_cpp 基于共享内存的双缓存实现
c_cpp 一个基于宏的简单C错误记录器
c_cpp 要求在C中实现的问题,使用基于字符的答案
c_cpp FreeRTOS的基于信号量和委托的任务数据共享与同步