Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/09/2013, 19:06
fightmx
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 9 meses
Puntos: 22
Respuesta: Que el ingreso sea sólo números en C

La función strtol recibe como primer parámetro una cadena de caracteres, comienza a validar cada uno ellos (de izquierda a derecha) siguiendo la sintaxis especificada por la base numérica (tercer parámetro, base 10), y lo interpreta como un valor numérico (valor de retorno), si en el camino encuentra un caracter que no es válido entonces se detiene y establece el puntero (segundo parámetro) en ese dirección, por lo tanto si tu cadena contiene la sintaxis que corresponde a un número valido, la comprobación se detiene hasta el final de la cadena, esto es: '\0'. Para este caso, al utilizar fgets sabemos que la cadena siempre contiene el carácter: '\n' (nueva línea), por lo tanto se puede tomar como el último carácter al cual se establece el puntero cuando tenemos un valor numérico válido.

Saludos.