[ Foro de C ]
Hola, el problema es que yo compilo un programa en linux que contenga gets() en su código (por ejemplo cualquier ejercicio de estructuras de Nacho) y no tengo ningún problema pero si compilo ese mismo programa en mac, funciona pero me sale este mensaje:
"warning: this program uses gets(), which is unsafe."
Alguien me puede ayudar???
Gracias
No es un problema de Mac, sino un aviso de ciertos compiladores.
Te avisa de que "gets" no es una función segura, en el sentido de que no es "robusta". La idea es que no hace comprobaciones de rango: si intentas guardar 60 caracteres en una cadena de 40 caracteres, el resultado es impredecible.
Pero en programas para un principiante, "gets" suele ser razonablemente sencilla, aunque pueda dar lugar a fallos, y para programas avanzados... no se suele usar "consola", sino "ventanitas" o ficheros, así que el problema es menos grave de lo que parece.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)