例如: 产生类似如下的随机数:
 
 4F 6A 23 5D 76 DA 54 98 7B B1 11 20 C4 EE 2E 3D BB最后要用字符串的形式表示出来。

解决方案 »

  1.   

    int ii;
    ...
    (ii=rand())
    pp[i]=iiCString str;
    str.Format("%x%x....%x",pp[0]...pp[10])
      

  2.   

    先用int rand( void );产生随即数,也可以用rand%16来获得0-15的随机数。
    再用int sprintf( char *buffer, const char *format [, argument] ... );使用%X参数转换为字符串
    然后在将长生的n个字符串相加,组成长字符串
    char chData[2];
    sprintf(&chData,"%02X",rand()%256);//一次产生二位
      

  3.   

    short int i=rand();
    //并不随机,所以取当前时间
    struct tm *ostime;
    CTime t=CTime::GetCurrentTime();
    ostime=t.GetLocalTm(NULL);
    i+=osTime->sec;
    CString str;
    str.Format("%x",i);
      

  4.   

    多谢大家捧场!: nscboy(宝贝)  的 rand%16 说到了点子上了。
    : he_zhidan(我的QQ154168835) 的算法很有新意。