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……
本文详细介绍了如何使用随机数生成器在指定范围内生成双字节的汉字编码,涉及高字节和低字节的具体范围设定,并通过实例展示了生成过程。包括两步随机生成过程和最终展示生成的汉字。

1976

被折叠的 条评论
为什么被折叠?



