首页 > 编程语言 >C++——生成UUID

C++——生成UUID

时间:2023-07-18 21:57:39浏览次数:35  
标签:std UUID int random C++ 生成 char hexstream include

#include <sstream>
#include <random>
#include <string>

unsigned int random_char() {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(0, 255);
    return dis(gen);
}

std::string generate_hex(const unsigned int len) {
    std::stringstream ss;
    for (auto i = 0; i < len; i++) {
        const auto rc = random_char();
        std::stringstream hexstream;
        hexstream << std::hex << rc;
        auto hex = hexstream.str();
        ss << (hex.length() < 2 ? '0' + hex : hex);
    }
    return ss.str();
}

转自https://www.cnblogs.com/0523jy/p/11399578.html

标签:std,UUID,int,random,C++,生成,char,hexstream,include
From: https://www.cnblogs.com/dbai/p/17564226.html

相关文章

  • 如何向已有的项目中添加C/C++代码?
    第一步:我们需要在src/main下面建立一个cpp目录,然后在其中写一个CMakeLists.txt文件和一个cpp文件,直接给出代码:#CMakeLists.txt文件#FormoreinformationaboutusingCMakewithAndroidStudio,readthe#documentation:https://d.android.com/studio/projects/add-n......
  • 2014 蓝桥杯 预赛 c/c++ 本科B组 第八题:蚂蚁感冒(10')(4.9更新)
    第八题:蚂蚁感冒(10')  长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。   每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。  当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。  这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把......
  • 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
    第三题:李白打酒(8')  话说大诗人李白,一生好饮。幸好他从不开车。  一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:  无事街上走,提壶去打酒。  逢店加一倍,遇花喝一斗。  这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。......
  • 深入解析 C++ 中的 ostringstream、istringstream 和 stringstream 用法
    引言:在C++中,ostringstream、istringstream和stringstream是三个非常有用的字符串流类,它们允许我们以流的方式处理字符串数据。本文将深入探讨这三个类的用法和特性,帮助读者更好地理解和应用字符串流操作。1.ostringstream(输出字符串流)ostringstream是C++中用于输出字......
  • 18行动态表格生成
    <xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"        xmlns:fo="http://www.w3.org/1999/XSL/Format">  <!--定义传入的参数--> <xsl:paramname="listSize"/>  ......
  • C++并行程序设计
    什么是并发?两个或两个以上事件或活动在同一时刻发生。如多个任务在多个CPU或CPU的多个核上同时执行,不存在CPU资源的竞争、等待行为并发程序的意义何在?充分发掘多核处理器的性能,提高计算速率仅供初次学习此内容创作,如有不对请大佬指正前置并行计算基础理论背景......
  • c++ 参数引用传递
    1#include<iostream>2#include<thread>3#include<windows.h>4usingnamespacestd;5voidA(int&a){6cout<<"address"<<&a<<endl;;7cout<<"value"<<a......
  • 修改unittest中ddt中的源码,使得生成的htmltestrunner报告标题更直观
    ddt是unittest中配合数据驱动思想的一个模块,为了使得生成的报告标题更直观,现修改源码1.先把内置的ddt模块,复制到项目中,修改复制的后ddt文件,这样就不是直接改别人的源码了 2.具体如何修改在这个地方添加 @ddt.ddt中进去  ifisinstance(v,list):test_name=mk_tes......
  • 时间戳格式化生成毫秒级
    std::stringmillisecond_to_str(conststd::int64_t&milliseconds){std::chrono::millisecondsms(milliseconds);std::chrono::time_point<std::chrono::high_resolution_clock,std::chrono::milliseconds>t1(ms);std::time_tt=std::chrono......
  • 【CJsonObject】C++ JSON 解析器使用教程
    能选封装的尽量不使用底层的一、CJsonObject简介CJsonObject是Bwar基于cJSON全新开发一个C++版的JSON库。CJsonObject的最大优势是轻量、简单好用,开发效率极高,尤其对多层嵌套json的读取和生成、修改极为方便。CJsonObject比cJSON简单易用得多,且只要不是有意不......