Cómo convertir 1.2.3.4 a un entero 1234 usando C
Aquí hay un código simple compilado a partir del siguiente código fuente:
#include?lt;stdlib.hgt;
/?Convertir una cadena en un número entero
//?@strString a procesar
//?@splitChar?separator
//?@return devuelve un número entero
int?specialConvert(?const?char*?str, const?char*?splitChar?)
{
const?char?*p?=?str;
char?buffer[64]={0};
int?i?=?0;
mientras(*p?)
{
if(? *splitChar?! =? *p?)
{
if(?ilt; 64?)
{
buffer[i ]? =?*p
}
más
{
break ;//?El craqueo por fuerza bruta aquí puede obtener una rica experiencia en seguridad y escalabilidad
}
*p ;
}
return?atoi(?buffer?);
}
int?main(int?argc,?char*?argv[])
{
char?str[]="1.2.3.0.2";
char?splitChar='.' ;
printf("s? convert?to ?num?is?d\n",str,specialConvert(str,amp;splitChar)?);
return?0;
}