Ver Mensaje Individual
  #15 (permalink)  
Antiguo 10/05/2013, 12:50
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Pasar de cadena de caracteres a INT

"...Puedes indicar alguna referencia?..."

Si

"...O es simplemente un dato lanzado al aire?..."

Espero que no


https://www.securecoding.cert.org/co...lete+functions

http://www.codecogs.com/reference/co...lib.h/atoi.php


Hay mas links, pero segun entiendo yo de todos los que acabo de revisar (por si acaso la estuviera cagando): la funcion está obsoleta (algunos manuales indican obsolete y algunos deprecated, que no es lo mismo) por lo que se mantiene en la libreria por motivos de compatibilidad hasta la nueva revision donde seguramente será eliminada (debido a los problemas de seguridad).

Es decir: hay una funcion obsoleta que actualmente forma parte del estandar (como bien decis Malenko y cesar_casla) pero solo por motivos de libreria; sabiendo que la funcion es obsoleta, que puede provocar errores y que hay versiones actualizadas para hacer lo mismo ¿que sentido tiene intentar mantener esa funcion? Vale: es facil de escribir, es facil de usar, es facil de recordar el nombre, pero no tiene control de errores y no es segura en multiprocesos; con esto creo recordar que cualquier mantenimiento no solo de librerias (sino de otros componentes) se limita a dejar la funcion hasta que alguien se atreva a quitarla, es decir que sobre atoi no se hacen mas revisiones de seguridad ni se actualiza la descripcion (a menos que no sea para poner que esta obsoleta). Segun mi forma de ver atoi ya no forma parte del estandar aun cuando esta dentro de la stdlib; cualquier aplicacion que actualmente implemente codigo con esta funcion está trabajando con una funcion no revisada, y a menos que esté 100% seguro de los datos que va a enviar a esa funcion estará creando una aplicacion insegura, no creo que sea el camino correcto (y no digo si es para hacer alguna aplicacion que use alguna empresa para trabajar).

Saludos
vosk