我是靠谱客的博主 等待鸭子,最近开发中收集的这篇文章主要介绍C++中Boost生成UUID的实例?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

reference: https://cloud.tencent.com/developer/ask/96752

回答 (2)关注 (0)查看 (1202)
我想生成随机的UUID,因为它对我的程序中的实例具有唯一标识符非常重要。我研究了Boost UUID,但我无法设法生成UUID,因为我不明白要使用哪个类和方法。

写回答关注邀请回答分享提问于 2018-04-17
2 个回答
热门排序
用户回答回答于 2018-04-17
一个基本的例子:

#include <boost/uuid/uuid.hpp>            // uuid class
#include <boost/uuid/uuid_generators.hpp> // generators
#include <boost/uuid/uuid_io.hpp>         // streaming operators etc.

int main() {
    boost::uuids::uuid uuid = boost::uuids::random_generator()();
    std::cout << uuid << std::endl;
}

实例产出:

7feb24af-fc 38-44 de-bc 38-04defc3804 de

赞0收藏0评论0分享
用户回答回答于 2018-04-17
如果需要多个uuid,则应该重新使用该生成器。也许这样更清楚:

#include <iostream>

#include <boost/uuid/uuid.hpp>            // uuid class
#include <boost/uuid/uuid_generators.hpp> // generators
#include <boost/uuid/uuid_io.hpp>         // streaming operators etc.


int main()
{
    boost::uuids::random_generator generator;

    boost::uuids::uuid uuid1 = generator();
    std::cout << uuid1 << std::endl;

    boost::uuids::uuid uuid2 = generator();
    std::cout << uuid2 << std::endl;

    return 0;
}

MFC 100W重复测试PASS

void CBoostUUIDDlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	//boost::uuids::uuid uuid = boost::uuids::random_generator()();
	//std::cout << uuid << std::endl;
	//std::string struuid = boost::uuids::to_string(uuid);
	//CString str(struuid.c_str());
	//OutputDebugString(str);
	//str.Replace(_T("-"), _T(""));
	//OutputDebugString(_T("n") + str + _T("n"));

	libxl::Book* book = xlCreateXMLBook(); // xlCreateXMLBook() for xlsx
	// 出于隐私保护,此处KEY代码省略...
	// book->setKey(......);
	if (book)
	{
		libxl::Sheet* sheet = book->addSheet(L"Sheet1");
		if (sheet)
		{
			//sheet->writeStr(2, 1, L"Hello, World !");
			//sheet->writeNum(3, 1, 1000);
			for (int i = 0; i < 1000000; i++)
			{
				boost::uuids::uuid uuid = boost::uuids::random_generator()();
				std::string struuid = boost::uuids::to_string(uuid);
				CString str(struuid.c_str());
				str.Replace(_T("-"), _T(""));
				sheet->writeStr(i, 1, str);
			}

		}
		book->save(L"uuid.xlsx");
		book->release();
	}

}


void CBoostUUIDDlg::OnBnClickedButton2()
{
	// TODO: Add your control notification handler code here
	boost::uuids::random_generator generator;

	boost::uuids::uuid uuid1 = generator();
	std::cout << uuid1 << std::endl;

	boost::uuids::uuid uuid2 = generator();
	std::cout << uuid2 << std::endl;

}

最后

以上就是等待鸭子为你收集整理的C++中Boost生成UUID的实例?的全部内容,希望文章能够帮你解决C++中Boost生成UUID的实例?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部