Resumen: mostrar cómo generar cadena aleatoria en C, de cualquier longitud, usando srand.

Vamos a ver cómo obtener un carácter aleatorio de una muestra y agregarlo a la cadena de destino usando ANSI C.

Generar cadena aleatoria en C

El algoritmo es sencillo. Debemos definir nuestra muestra, es decir, de donde tomaremos los caracteres:

Ahora debemos hacer un ciclo desde 0 hasta la longitud de la cadena de destino. En cada paso del ciclo:

  1. Generamos un índice aleatorio que esté en los límites de la muestra
  2. A la cadena de destino le asignamos el carácter que esté en la muestra, usando el índice aleatorio.

Como sabemos, las cadenas en C son un poco complejas así que lo haremos en forma de función en donde quien invoca a la función indica el destino y la longitud.

Función en C

El código queda así:

Como ves, recibimos la longitud y la cadena de destino, así evitamos cometer errores de cadenas, pues el que invoca a la función debe definirla.

Por cierto, el índice aleatorio es generado en la línea 4 con rand.

Código completo para generar cadena aleatoria en C

Generar cadena aleatoria en C

Generar cadena aleatoria en C

El código queda así:

No olvides que se debe alimentar a srand, lo que hacemos en la línea 27. Después definimos la cadena de destino cuya longitud debe estar definida en tiempo de ejecución y debe ser constante, para ello usamos #define.

Finalmente en la línea 29 invocamos a cadena_aleatoria en donde indicamos la longitud así como el destino, y como no regresa nada (pues modifica internamente a la cadena) no esperamos el resultado, ya que simplemente basta con imprimir destino.

Si quieres puedes ejecutar el código en línea.

Relacionado:  Invertir una cadena o String en Java

También puedes explorar más ejercicios sobre C.

Nota importante: este método no sirve para generar contraseñas, no lo uses para cosas de seguridad, ya que no es criptográficamente seguro.

Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 375 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: