elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funcion genera numeros aleatorios de x cifras ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion genera numeros aleatorios de x cifras ayuda  (Leído 2,259 veces)
pacosn1111

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Funcion genera numeros aleatorios de x cifras ayuda
« en: 24 Abril 2015, 16:33 pm »

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:

Código
  1. double aleatorio_cifras(int cifras) {
  2.  
  3. int x;
  4. int random;
  5. char aux[2];
  6. char num[cifras];
  7.  
  8. for(x=0; x<cifras; x++){
  9.  
  10. random=rand () % 10;
  11. sprintf(aux, "%d", random);
  12. strcat(num, aux);
  13.  
  14. }
  15. printf("%s", num);
  16. return atof(num);
  17.  
  18. }
  19.  

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.


En línea

T. Collins

Desconectado Desconectado

Mensajes: 206


Ver Perfil
Re: Funcion genera numeros aleatorios de x cifras ayuda
« Respuesta #1 en: 24 Abril 2015, 17:11 pm »

strcat

char * strcat ( char * destination, const char * source );

Concatenate strings
Appends a copy of the source string to the destination string. The terminating null character in destination is overwritten by the first character of source, and a null-character is included at the end of the new string formed by the concatenation of both in destination.

Puedes poner esto antes del for:
Código
  1. num[0] = 0;


En línea

pacosn1111

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Funcion genera numeros aleatorios de x cifras ayuda
« Respuesta #2 en: 24 Abril 2015, 19:00 pm »

strcat

char * strcat ( char * destination, const char * source );

Concatenate strings
Appends a copy of the source string to the destination string. The terminating null character in destination is overwritten by the first character of source, and a null-character is included at the end of the new string formed by the concatenation of both in destination.

Puedes poner esto antes del for:
Código
  1. num[0] = 0;

Gracias, solucionado!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines