随机参数字符串, 字符串包括大、小字母还有数字.
/*
* 产生包含大写字母,小写字母和数字的随机的字符串
*
* @buf[out] 存放字符串的缓存区
* @bufsize[in] 存放字符串的缓存区大小
* @string_len[in] 想要输出的字符串长度
* return: 0 成功, -1 失败
*/
int generate_random_string(char *buf, unsigned int bufsize, unsigned int string_len)
{
int flag, i;
if (buf == NULL){
printf("[%s][%s][%d]buf is null!\n", __FILE__, __func__, __LINE__);
return -1;
}
if (string_len > bufsize){
printf("[%s][%s][%d] string length big than buffer size!\n", __FILE__, __func__, __LINE__);
return -1;
}
srand((unsigned) time(NULL ));
for (i = 0; i < string_len; ++i)
{
flag = rand() % 3;
switch (flag)
{
case 0:
buf[i] = 'A' + rand() % 26;
break;
case 1:
buf[i] = 'a' + rand() % 26;
break;
case 2:
buf[i] = '0' + rand() % 10;
break;
default:
buf[i] = 'x';
break;
}
}
buf[string_len] = '\0';
return 0;
}
693

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



