[C con Clase] Duda con el gets();

Sebastian Chamorro sebastianchamorro en gmail.com
Lun Feb 16 01:56:32 CET 2009


2009/2/15 Javier Cancio del Busto <sepholin en gmail.com>

> Buenas,
>
> Estoy haciendo un programa, en el cual tengo una función que debe leer una
> línea de consola, de, como máximo, 200 caracteres. El caso es que declaro un
> char *linea; y hago gets(linea); y al compilar (me compila y ejecuta bien el
> código) me da un warning que no entiendo por qué me lo da, y es el
> siguiente:
>
>
> [sepho en arch pr_shell_alumno]$ make
> gcc ush.c profe_32.a analizador.o redireccion.o ejecucion.o -o ush
> /tmp/ccUPiwYV.o: In function `leerLinea':
> ush.c:(.text+0x15f): warning: the `gets' function is dangerous and should
> not be used.
> strip ush
>
>
> Muchas gracias.
>
> --
> =====================
>   Javier Cancio del Busto
> =====================
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>

declara un vector de n elementos de char...luego haz gets a ese
vector...veras que gets no da errores si te pasas de la dimension..del
vector declarado..o sea..podes violar memoria..es por eso que te dice..que
es peligrosa..saludos!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090215/be9c419b/attachment.html>


Más información sobre la lista de distribución Cconclase