1.C语言 随机字符串怎么弄#define a_base_string "000"
#define a_base_length 400
#define a_const_string a_base_string
#define a_const_length (sizeof (a_const_string) - 1)
#define a_max_length (a_base_length + a_const_length)
#define a_move_length ((a_max_length - a_const_length) / sizeof (int) * sizeof (int) + a_const_length)
int main ()
{
char a[a_max_length + 1] = a_const_string ;
char *pa ,*pb ,*qa ;
srand (time (0)) ;
pa = a + a_const_length ;
qa = a + a_max_length ;
printf ("\"%s" ,a) ;
while (pa < qa)
{
while ((*pa = (char) ((unsigned) (rand () & 0x00ff0000) >> 16)) == '\0') ;
printf ("%c" ,*pa++) ;
}
printf ("\"\n\n") ;
a[a_max_length] = '\0' ;
printf ("the random string in this time is\n\n\"%s\"\n\n" ,a) ;
return 0 ;
}
2.C/c++中如何产生指定的随机字符u ?
??7 ??d m ?? ] ???V ???e ??F ?~ ? i ? ??n g ?Q ' ? ?? ?Press any ke
y to continue
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
main()
{
int i;
srand((unsigned)time(NULL));
//数字 大小写 字符 都有 限定范围可生成 指定 大写 小写 数字 字符
for (i=0;i<50;i++)
{
printf("%c ",rand()%256);
}
}
3.在C语言中怎样产生随机的字符串直接产生随机的字符串的库函数是没有的,
但是可以这么实现:
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();
}
不定长的自己参照着写吧
4.用c#写 随机产生10个字符函数public static string CreateRandomCode(int codeCount,string allChar)
{
//验证码中的出现的字符,避免了一些容易混淆的字符 。
if (string.IsNullOrEmpty(allChar)) allChar = "3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,Q,R,S,T,U,W,X,Y";
string[] allCharArray = allChar.Split(',');
string randomCode = "";
int temp = -1;
bool breCreate = (codeCount < 6 && allCharArray.Length > 15);
Random rand = new Random();
for (int i = 0; i < codeCount; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
}
int t = rand.Next(allCharArray.Length);
if (temp == t && breCreate)
{
return CreateRandomCode(codeCount, allChar);
}
temp = t;
randomCode += allCharArray[t];
}
return randomCode;
}
调用它就行了!
5.C/c++中如何产生指定的随机字符u ? ??7 ??d m ?? ] ???V ???e ??F ?~ ? i ? ??n g ?Q ' ? ?? ?Press any key to continue#include "stdio.h"#include "stdlib.h"#include "time.h"main(){ int i; srand((unsigned)time(NULL)); //数字 大小写 字符 都有 限定范围可生成 指定 大写 小写 数字 字符 for (i=0;i