我正在尝试生成一个随机字符串,但结果总是由相同的字符组成
void random_password(char* p, short unsigned int lenght, char* symbols, short unsigned int border){
for (short unsigned int i=0; i<lenght; i++){
unsigned int s = random(0, border);
p[i] = symbols[s];
}
};
unsigned int random(unsigned int a, unsigned int b){
srand(time(NULL));
return a + rand()%b;
};
我尝试使用溢出来制作 PRNG,但这也没有给出可接受的结果(9、5、7、3 在一个循环中发出)
请告诉我一些更有效的算法

B 您正在强制生成器一遍又一遍地生成相同的值(在一秒钟内,然后第二个将不同)。
这个
称为 ONCE,通常在程序的开头。