我正在尝试自动化我的程序测试用例,并希望生成随机数字串进行测试... 第一个测试将使用二进制数字,因此我想生成0和1的随机长度n的数字串,其中n从1到100。目前我已经有了下面这段代码,但它总是返回相同的字符串(相同的长度),并且只生成整个字符串中的1或0。
int digNum = rand() % 100 + 1;
int num;
for(int i = 0; i < digNum; i++) {
num = ((double) rand() / (RAND_MAX)) + 1;
s1 = s1 + to_string(num);
}
cout << s1 << endl;
你的想法是什么?
srand
,例如调用了srand(time(NULL))
? - muXXmit2X(double) rand() / (RAND_MAX)
是做什么的。然后再思考将其转换为整数时会发生什么。 - Some programmer duderand()
更加通用。 - Holt