zoukankan      html  css  js  c++  java
  • 生成GUID

    GUID的结构:

    typedef struct _GUID {  
        unsigned long  Data1;  
        unsigned short Data2;  
        unsigned short Data3;  
        unsigned char  Data4[ 8 ];  
    } GUID;

    总大小为:4 + 2 + 2 + 8 = 16字节。

    一个GUID内容形式为:{77046E66-C274-42CE-85AD-5DCFA5B4D2A5}

    就是4+2+2+2+6 = 16字节。

    “85AD” 是 Data4[0]和Data4[1];

    “5DCFA5B4D2A5” 则是从 Data4[2]~Data4[7]。

    需要包含头文件objbase.h

    主要就是函数

    HRESULT CoCreateGuid(   GUID * pguid  );

    示例:

    #include "stdafx.h"  
    #include "objbase.h"  
    #include <string>  
      
    using namespace std;  
      
    std::string GuidToString(const GUID &guid)  
    {  
        char buf[64] = {0};  
        sprintf_s(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);  
    }  
      
    int _tmain(int argc, _TCHAR* argv[])  
    {  
          
        GUID guid;  
        CoCreateGuid(&guid);  
        std::string s = GuidToString(guid);  
        printf(s.c_str());  
          
        system("pause");  
        return 0;  
    }

    运行结果:

    image

  • 相关阅读:
    访问修饰符
    SqlServer 查运行进程
    SqlServer 作业计时执行存储过程,杀超时进程
    VS快捷键操作
    sql server 命令
    vs 加载 dev控件
    TreeList显示[+] [-] 线条样式
    佳能MG2580S清零
    Dev WaitDialog 使用
    导出.txt / .pdf / .xls
  • 原文地址:https://www.cnblogs.com/betterwgo/p/8434337.html
Copyright © 2011-2022 走看看