関数内にランダムな文字列を生成する際に問題があります。これを行うにはどのような方法は、私は65から私は57から48までを含める90にASCII文字を使用していた次のコードで ランダムな文字列を出力する
、64に58をスキップしてありますか?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
int main()
{
char s[30];
random_string(s, 6,65,90);
printf("\n%s\n", s);
return 0;
}
void random_string(char * string, unsigned length,int min,int max)
{
/* Seed number for rand() */
srand((unsigned int) time(0) + getpid());
/* ASCII characters 33 to 126 */
unsigned int num_chars = length - 1;
unsigned int i;
for (i = 0; i < num_chars; ++i)
{
string[i] = rand() % (max - min + 1) + min;
}
string[num_chars] = '\0';
}
ええ、それも良い答えです。しかし、私はそれ自身を修正しました – Kumar
少なくともupvoteを与えてください:p – michi7x7
申し訳ありません、 – Kumar