关于C++随机生成中文字符

来源:互联网 发布:cass软件计算土方 编辑:程序博客网 时间:2024/05/16 12:47
srand((unsigned)time(NULL));int iRange1 = 0xf7 - 0xb0;int iRange2 = 0xfe - 0xa1;for (int i=0;i<10;++i){BYTE iCode1 = rand()%iRange1 + 0xb0;BYTE iCode2 = rand()%iRange2 + 0xa1;char ch[3] = {iCode1,iCode2,0};}

char类型ch即为生成的中文字符,如果要合成中文字符串,使用lstrcat((目标字符串)des,ch(源字符串));括号内中文为解释说明
2字节,第1字节,从0xB0 ~ 0xF7,第二字节 0xa1 ~ 0xFE. 最后的0xF7A1 一段,最后有几个字是没有的.

楼主只要生成 1 字节 0xB0~0xF6 ,2 字节 0xa1 ~ 0xFE,就够随机的了.

随机生成汉字分两步进行,汉字是双字节
高字节范围是 x1-x2(具体自己查)
高字节范围是 y1-y2(具体自己查)
1.随机产生两个索引
srand(GetTickCount());
nLowPart = rand()%(x2-x1+1) + x1;
nHighPart = rand()%(y2-y1+1) + y1;
2.拼接索引显示汉字
unsigned char Chine……

原创粉丝点击