C/Visual C - ¿Vómo valida si el argumento es un entero?

 
Vista:

¿Vómo valida si el argumento es un entero?

Publicado por Pablo (1 intervención) el 23/05/2002 16:30:48
Necesito validar en C/C++ bajo Unix si el argumento que se le pasa al programa es un entero. No puede ser 1,3 ni 0,3, ni nada de eso.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Cómo valida si el argumento es un entero?

Publicado por Oliver Ramirez (339 intervenciones) el 23/05/2002 18:30:50
comprueba el parametro por medio al operador modulo % y si te da o entonces es un entero.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Vómo valida si el argumento es un entero?

Publicado por chuidiang (677 intervenciones) el 24/05/2002 07:09:58
Tienes varias posibiidades según el tipo de validación que quieras.
Se supone que lo recibes como un char* en argv[i]

1. La más "chapucera", directamente hacer un atoi (char *). Sea lo que sea el argumento esto te devolvera un entero. Si metes letras, devolvera un 0. Si metes 1.3 te devolvera 1 y si metes un entero, te devolvera el entero.

2. Si quieres una comprobación más exhaustiva, tendrás que hacertela tú. Para ello te pueden ser útiles funciones de C como isdigit(char) que devuelve si el caracter que le pasas es o no un digito. Tendrías que recorrer toda la cadena y para caracter preguntar isdigit(). Quizas el punto decimal tengas que tratarlo aparte. Si miras el man, te saldrán muchas funciones del estilo (isalpha(), isxdigit(), ....)

Espero que te sirva de ayuda.
Se bueno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar