Chinaunix
标题:
我想能随机产生一个30-50个字符的自符串?
[打印本页]
作者:
jerryzheng
时间:
2004-06-11 22:32
标题:
我想能随机产生一个30-50个字符的自符串?
这个函数该怎么写,主要是怎么随机取字符?
作者:
patrick007
时间:
2004-06-11 23:21
标题:
我想能随机产生一个30-50个字符的自符串?
我的想法是
做一个字符表(一二维都应该可以),然后先控制产生一个随即数(保证该数30到50之间,random(20)+30这样差不多可以吧),控制循环次数,在循环中从字符表里随机(也用随即数,并保证不会越界)读取
也可以不要字符表,在循环中控制一个随机数,产生ascii码,并保证在你需要的字符范围内(由于大小写和数字ascii不连续,可能有点难度)
应该还会有好些的方法,再想想
作者:
kj501
时间:
2004-06-12 09:55
标题:
我想能随机产生一个30-50个字符的自符串?
写一个贴上来试试,肯定还有更好的算法:
#include <stdio.h>;
#include <stdlib.h>;
void ran_str(int str_len)
{
int i, r;
char *str = (char *)malloc(str_len + 1);
srand(time(0));
for (i=0; i<str_len; i++) {
/* 产生一个0到51的随机数 */
r = (int)(52.0 * rand() / (RAND_MAX + 1.0));
/* 如果这个随机数大于25,则用它生成大写字母,反之,则生成小写字母 */
if (r >; 25)
*(str + i) = r / 2 + 'A';
else
*(str + i) = r / 2 + 'a';
}
*(str + i) = '\0';
printf("%s\n", str);
free(str);
}
int main()
{
//产生一个长度为35的随机字符串
ran_str(35);
}
复制代码
作者:
JohnBull
时间:
2004-06-13 00:16
标题:
我想能随机产生一个30-50个字符的自符串?
读取/dev/urandom文件,截成7bit.
作者:
oustar
时间:
2004-06-13 17:44
标题:
我想能随机产生一个30-50个字符的自符串?
还要看你对随机性的要求.random()产生的是伪随机数.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2