C语言 sprintf函数,如何生成不规则的随机字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 sprintf函数,如何生成不规则的随机字符串?相关的知识,希望对你有一定的参考价值。
保留字符串前三位不变,后面的随意生成。。。 谁来帮帮我 怎么搞呢
没有明白你的本意是什么,做了一个,你看看吧,不对接着追问#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main()
int a;
srand((unsigned)time( NULL ));
a=rand()%1000;
printf("随机数%0d\\n",a);
追问
就是使字符串前三位保持不变,后面的字符随机
参考技术A 直接产生随机的字符串的库函数是没有的,但是可以这么实现:
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();
不定长的自己参照着写吧追问
复制粘贴的不给满意答案
追答这还不简单唆,用两个字符串相连实现嘛,第一个字符串为固定的那3位,后面的字符串用上面的办法的出,最后调用一个strcat函数不就OK了啊。
以上是关于C语言 sprintf函数,如何生成不规则的随机字符串?的主要内容,如果未能解决你的问题,请参考以下文章