Foros del Web » Programación para mayores de 30 ;) » Programación General »

Comprovar que una ip es correcta

Estas en el tema de Comprovar que una ip es correcta en el foro de Programación General en Foros del Web. Buenas, tengo en la variable ip definida como char* ip una cadena de caracterres. Como puedo saber que tiene la estructura de ip, es decir ...
  #1 (permalink)  
Antiguo 14/06/2005, 12:58
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años
Puntos: 0
Comprovar que una ip es correcta

Buenas, tengo en la variable ip definida como char* ip una cadena de caracterres.

Como puedo saber que tiene la estructura de ip, es decir x.x.x.x? Alguna idea?

Gracias de antemano
  #2 (permalink)  
Antiguo 14/06/2005, 13:32
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Pues agarras esa ip, la metes en un buffer char y luego le aplicas:

char *point;
point=strtok(buffer, ".");

Aqui te va a dar el primer numero antes del punto, ahora debes hacer la comprobacion de que si el primer numero no tiene 3 cifras o algo asi(dependiendo de lo que hagas) entonces lanzas el mensaje de error.

Nota: por cierto, te recuerdo, que primero debes compiar el contenido de point no su valor a otro buffer donde le tienes que aplicar la funcion atoi para poder pasar a numero.

Despues aplicas:

point=strtok(NULL, ".");

Que te da el segundo numero despues del punto y le aplicas lo mismo que al primero, y asi hasta que tengas los 4 numero necesarios.

Saludos
  #3 (permalink)  
Antiguo 14/06/2005, 13:34
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Comprobar que cada uno de los caracteres sea mayor o igual a '0', menor o igual a '9' o '.' tambien podes hacerlo en varios pasos y comprobar que haya tres o menos numeros seguidos de un punto cuatro veces.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.