#include <stdio.h> 
#include <string.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>

int main(void)
{
char *token;
char buf1[16];
char buf2[4][4];
char buf3[16];
int i = 0;
struct sockaddr_in addr;
memset(buf1, 0, 16);
memset(buf2, 0, 16);
memset(buf3, 0, 16);

//buf = inet_ntoa(sin_dest.sin_addr);
//sprintf(buf1, "%s", inet_ntoa(sin_dest.sin_addr));

sprintf(buf1, "%s", "112.26.0.8");

token = strtok(buf1, ".");
while (token != NULL)
{
sprintf(buf2[i++], "%s", token);
token = strtok(NULL, ".");
}

strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
inet_aton(buf3, &addr.sin_addr);
printf("%s (%u)\n", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);

buf2[2][0] = '1';
memset(buf3, 0, 16);
strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
inet_aton(buf3, &addr.sin_addr);
printf("%s (%u)\n", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);

buf2[2][0] = '2';
memset(buf3, 0, 16);
strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
inet_aton(buf3, &addr.sin_addr);
printf("%s (%u)\n", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);

buf2[2][0] = '3';
memset(buf3, 0, 16);
strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
inet_aton(buf3, &addr.sin_addr);
printf("%s (%u)\n", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);

buf2[2][0] = '4';
memset(buf3, 0, 16);
strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
inet_aton(buf3, &addr.sin_addr);
printf("%s (%u)\n", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);

addr.sin_addr.s_addr = inet_addr("112.26.9.8");
printf("%s (%u)\n", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);

//---------------------------------------
const char *address = "255.255.255.255";

inet_aton(address, &addr.sin_addr);
printf("%s (%u)\n", address, addr.sin_addr.s_addr);
//---------------------------------------

return 0;
}