概述
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的实例?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复