很菜的问题:唯一字符串如何产生?

yesry 2003-03-18 01:15:28
用C语言编写一个全球唯一的字符串。字符串越短越好。不要128位二进制转64字节的字符串吧。
...全文
25 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdws222 2003-03-18
  • 打赏
  • 举报
回复
在BCB的IDE中按Ctrl+Shift+G
BCB 2003-03-18
  • 打赏
  • 举报
回复
GUID实际是16个字节,将它转成16进制才变成32字节的
yesry 2003-03-18
  • 打赏
  • 举报
回复
但是32字符稍长了一点,有没有字符串比较短的?
hjb8000 2003-03-18
  • 打赏
  • 举报
回复
不懂!
BCB 2003-03-18
  • 打赏
  • 举报
回复
#include "comobj.hpp"
#include "stdio.h"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text=CreateClassID();
GUID ClassID=StringToGUID(Edit1->Text);
char *cc=(char *)&ClassID; // cc[16]就是16个字节
String guid="";
for (int i=0;i<16;i++)
{
char buf[8];
sprintf(buf,"%02x",(int)(UCHAR)cc[i]);
guid=guid+buf;
}
Edit2->Text=guid; // 32字节的16进串
}
// 据说也是全球唯一
yesry 2003-03-18
  • 打赏
  • 举报
回复
CreateClassID();是利用COM的功能,的确Global Unique ID,但是32字符稍长了一点,有没有字符串比较短的?
BCB 2003-03-18
  • 打赏
  • 举报
回复
16字节
cscer 2003-03-18
  • 打赏
  • 举报
回复
可以读取硬盘序列号
penu 2003-03-18
  • 打赏
  • 举报
回复
To:BCB(天下三分明月夜,二分无赖是扬州)
你那只能全机器唯一,不能全球唯一。……
BCB 2003-03-18
  • 打赏
  • 举报
回复
#include "comobj.hpp"
Edit1->Text=CreateClassID();
duandao88 2003-03-18
  • 打赏
  • 举报
回复
没看明白你的意思?
yesry 2003-03-18
  • 打赏
  • 举报
回复
哦,没人?

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧