C++:在程序中获取全球唯一标识号(GUID或UUID)

简介: Windows:使用CoCreateGuid函数(GUID) #include #include #define GUID_LEN 64 int main(int argc, char* argv[]){ char buffer[GUID_LEN] = { 0 }; GUID guid; ...

Windows:使用CoCreateGuid函数(GUID)

#include <objbase.h>
#include <stdio.h>

#define GUID_LEN 64

int main(int argc, char* argv[])
{
 char buffer[GUID_LEN] = { 0 };
 GUID guid;

 if ( CoCreateGuid(&guid) )
 {
  fprintf(stderr, "create guid error\n");
  return -1;
 }
 _snprintf(buffer, sizeof(buffer), 
  "%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]);
 printf("guid: %s\n", buffer);

 return 0;
}

Linux:使用uuid_generate函数(UUID)

//编译命令:gcc atemp.c -o atemp -luuid
#include <stdio.h>
#include <uuid/uuid.h>

int main() 

 uuid_t uu;
 int i;
 uuid_generate( uu );

 for(i=0;i<16;i++) 
 { 
  printf("%02X-",uu[i]); 
 } 
 printf("\n");

 return 0; 
}

目录
相关文章
|
5月前
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
54 0
|
3月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
181 21
|
7月前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
|
4月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
78 2
|
5月前
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
105 0
|
5月前
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
39 0
|
7月前
|
C语言 图形学 C++
|
7月前
|
编译器 C++
C++:继承性_程序
C++:继承性_程序
36 1
|
7月前
|
存储 算法 程序员
【C++进阶】深入STL之vector:构建高效C++程序的基石
【C++进阶】深入STL之vector:构建高效C++程序的基石
83 1