在C语言中怎样产生随机的字符串

在VC中,怎样产生一个随机的字符串?有没有什么库函数?或者用什么思想来实现设计算法?最好以代码为例哈,谢谢!... 在VC中,怎样产生一个随机的字符串?
有没有什么库函数?
或者用什么思想来实现设计算法?
最好以代码为例哈,
谢谢!
展开
 我来答
希声和寡
2009-02-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:6437
采纳率:0%
帮助的人:3484万
展开全部
直接产生随机的字符串的库函数是没有的,
但是可以这么实现:
1.产生固定长度的随机的字符串
主要就是产生固定个数的随机字符,
那么就简单了,用两组随机数:
一组:随机产生0~25的整数num,然后用'a'+num来赋值小写字母,'A'+num来赋值大写字母
一组:随机产生0,1,产生0,用'a'来和num相加,生成小写字母;产生1,用'A'来和num相加,生成大写字母;

2.产生不固定长度的随机的字符串
就是在上面的产生固定长度的随机的字符串的基础上,在引入一组随机数,来控制字符串长度

代码如下:
1.产生固定长度的随机的字符串
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 10//固定长度为10

void main()
{
int flag,charLengt;
int i,j,k=0;
char ch[N+1]={NULL};
srand((unsigned)time(NULL));

for(i=0;i<10;i++)//生成10个String吧
{
for(j=0;j<N;j++)
{
flag=rand()%2;
if(flag) ch[k++]='A'+rand()%26;
else ch[k++]='a'+rand()%26;
}
ch[k]='\0';
k=0;
printf("%s\n",ch);
}

getch();
}

不定长的自己参照着写吧
du瓶邪
2015-08-06 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2927万
展开全部
//产生长度为length的随机字符串
char* genRandomString(int length)
{
int flag, i;
char* string;
srand((unsigned) time(NULL ));
if ((string = (char*) myMalloc(length)) == NULL )
{
myLog("Malloc failed!flag:14\n");
return NULL ;
}

for (i = 0; i < length - 1; i++)
{
flag = rand() % 3;
switch (flag)
{
case 0:
string[i] = 'A' + rand() % 26;
break;
case 1:
string[i] = 'a' + rand() % 26;
break;
case 2:
string[i] = '0' + rand() % 10;
break;
default:
string[i] = 'x';
break;
}
}
string[length - 1] = '\0';
return string;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
newghost_joe
2009-02-28 · TA获得超过791个赞
知道小有建树答主
回答量:1915
采纳率:0%
帮助的人:1132万
展开全部
#include <stdlib.h>

...

char R[26]={'A',....'Z'}
char C[100] = {0};

for(int n=0;n<100;n++){

C[n] = R[rand()%26];

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汪江wangjiang
2009-03-01 · TA获得超过187个赞
知道答主
回答量:80
采纳率:0%
帮助的人:93.4万
展开全部
能把问题说得具体一点吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式