c++生成GUID的实现
/*---------代码非原创------------*/ #include <string> #include <stdio.h> #include <iostream> #include "uuid_test.hpp" #ifdef WIN32 #include <objbase.h> #else #include <uuid/uuid.h> #endif using namespace std; namespace ChinuxTeam { GUID CreateGuid() { GUID guid; #ifdef WIN32 CoCreateGuid(&guid); #else uuid_generate(reinterpret_cast<unsigned char *>(&guid)); #endif return guid; } std::string GuidToString(const GUID &guid) { char buf[64] = {0}; #ifdef __GNUC__ snprintf( #else // MSVC _snprintf_s( #endif buf, sizeof(buf), "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); return std::string(buf); } }
以上代码在其他程序员博客找到的,copy出来用,不怎么好使,
谁有过c++实现GUID的代码能分享的(不要依赖微软可以跨平台)的。
备注:以上代码中看到 using namespace std; namespace Chexxx; 命名空间的使用,
请问一下这种代码是不是在vs下使用的?就是依赖于微软的东西。
求c++实现GUID的代码,有点急,分享的大神小弟感激不尽。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(20)
我晕。我是从高级语言开始学起的。
std= Standard Template Library,标准模板库。
跟操作系统没关系,linux有std,windows下有std,unix下也有std,而且用法都几乎一样。
另外,C++属于计算机高级语言呢。
LZ看来对C++不熟悉,找本入门的书先看看吧
回复
不好意思...打错了
晕!std是Standard的缩写,标准模板库是STL
大哥,您能再帮我翻译一个东西吗?翻译成c++的一个方法 (C#)code:如上。
Thank You
汗死。。这么有层次的问题后面居然跟着。。std是不是微软的。。
回复
不好意思,再问一下,google关键字搜索什么
回复
C++ 获取本机MAC地址 C++ 获取本机IP地址
谢谢
这种网上找的,很多类库内部的实现都是引用的微软
回复
当然啦,获取mac和ip肯定要依赖于操作系统类库的,不然肯定获取不到。就要看你在哪个平台上开发软件了
生成分布式全局唯一码?
一般是:MAC地址(12字节)+IP地址(12字节)+当前时间秒数(字节数自己定)+6位随机数
大哥,您有精简一点的代码吗? 我c++刚开始学,这样的代码我不会整理归纳到当前项目中去。
@曹小龙 3个头文件,两个源文件,最后一个是main,就是测试方法,不会整?
好多,看的好晕。不会整。我放弃 GUID了,我用简单的。 自行生成, 时间戳+随机码
随机数(前几位)总是一样,
int num = rand()%100000;改成:int num = rand()%100;就会多几位,看你是怎样的需求了