Ya que usas
atoi en el segundo ejemplo... ¿por qué no usar
strlen en el primero?
aunque tampoco es que sea imprescindible conocer la longitud de la cadena.
Código C:
Ver original#include <stdio.h>
int main(int argc, char* argv[])
{
char cadena[10];
char* ptr;
int numero=0,error=0;
printf("Introduce un valor numerico: "); for(ptr=cadena,*ptr!=0 && error==0;++ptr)
{
error = (*ptr<'0' || *ptr>'9');
numero = (error)? 0 : numero*10+*ptr-'0';
}
if(error==1)
printf("Introduce solo numeros"); else
printf("El numero es: %d",numero
); return 0;
}
Nota: Estoy respondiendo desde el movil, si el código no compila avisadme y lo corrijo.
Un saludo.