Hola a tod@s, resulta que para el motor de cifrado que estoy escribiendo acabo de hacer una función que debería generar numeros aleatorios muy grandes, para ello uso el truco de ir generando numero por numero e ir guardandolo uno a uno en una cadena y después pasarlo a double con atof, pero no funciona como debería, dejo el código:
Esto genera de salida algo así:
"�@2282"
Es decir, genera el numero aleatorio de 4 cifras que le pido, pero antes genera esos caracteres que no se de donde salen, y por culpa de eso la función atof no convierte bien el string a double.
Gracias de antemano saludos.
Código (c) [Seleccionar]
double aleatorio_cifras(int cifras) {
int x;
int random;
char aux[2];
char num[cifras];
for(x=0; x<cifras; x++){
random=rand () % 10;
sprintf(aux, "%d", random);
strcat(num, aux);
}
printf("%s", num);
return atof(num);
}
Esto genera de salida algo así:
"�@2282"
Es decir, genera el numero aleatorio de 4 cifras que le pido, pero antes genera esos caracteres que no se de donde salen, y por culpa de eso la función atof no convierte bien el string a double.
Gracias de antemano saludos.