1:简单的随机字符串
const char CCH[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
void GetRandstr(TCHAR *szPswd, int ilen)
{
srand((unsigned)time(NULL));
for (int i = 0; i != ilen; ++i)
{
int x = rand()%(sizeof(CCH)-1);
szPswd[i] = CCH[x];
}
return ;
}
TCHAR szPswd[64] = {0};
GetRandstr(szPswd, 32);
2:稍复杂些的字符串
//产生一个包含字母、数字、以及其他字符的字符串
char t[CN+LN+NN+SN+1];
char S[33]="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
char *randstr() {
int i;
for (i=0;i<CN;i++) sprintf(t +i,"%c",'A'+rand()%('Z'-'A'+1));
for (i=0;i<LN;i++) sprintf(t+CN +i,"%c",'a'+rand()%('z'-'a'+1));
for (i=0;i<NN;i++) sprintf(t+CN+LN +i,"%c",'0'+rand()%('9'-'0'+1));
for (i=0;i<SN;i++) sprintf(t+CN+LN+NN+i,"%c",S[rand()%32] );
int n=CN+LN+NN+SN-1;
for (i=n;i>0;i--)
{
int a=i-1;
int b=rand()%i;
if (a!=b)
{
char tc=t[a];
t[a]=t[b];
t[b]=tc;
}
}
return t;
}
int main() {
srand(time(NULL));
for (int i=0;i<5;i++)
printf("%s\n",randstr());
return 0;
}