#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
usando namespace std ;
caractere strTemp [ 20 ];
caractere * numbertoIp ( unsigned longo nValue)
{
// estática de char szAddr [16] = {0};
// unsigned longo ulMask [4] = {0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000};
// para (você i = 0; i < 4; i ++)
// {
// longo l = (ulAddr & ulMask [i]) >> (i * 8);
// ltoa (l, szAddr + strlen (szAddr), 10);
// se (i ! = 3)
// strcat (szAddr, "");
// }
// retornar szAddr;
// }
sprintf ( strTemp, "d%.% d. d%.% d" ,
(nValue & 0xff000000 ) >> 24 ,
(nValue & 0x00ff0000 ) >> 16 ,
(nValue & 0x0000ff00 ) >> 8 ,
(nValue & 0x000000FF ) );
std :: cout << strTemp << endl;
voltar strTemp;
}
int principal ()
{
caractere str [] = "244.255.213.123" ;
const de char * dividida = "" ;
caractere * p;
você i = 0 ;
um int de uma [ 4 ];
int soma = 0x0 ;
p = strtok (str, dividida);
enquanto (p! = NULL ) {
// printf ( "% s \ n", p);
um [i] = atoi (p);
p = strtok ( NULL , dividida);
// printf ( "% X", a [i]);
i ++;
}
soma = 256 * 256 * 256 * um [ 0 ] + 256 * 256 * um [ 1 ] + 256 * a [ 2 ] + a [ 3 ];
printf ( "% X" , soma);
numbertoIp (soma);
getchar ();
voltar 0 ;
}