我写了一个程序,它以IP地址作为参数,我想将这个IP地址存储在unit32_t中。我可以很容易地将uint32_t转换回字符数组。如何将Char Array中的IP地址转换为uint32_t。
例如
./IPtoCHAR 1079733050
uint32_t到IP地址=> 64.91.107.58
但是如何编写一个执行相反任务的程序呢?
./CHARtoIP 64.91.107.58
对于第一个IPtoCHAR,它是
unsigned int ipAddress = atoi(argv [1]);
printf("IP Address %d.%d.%d.%d \n",((ipAddress >> 24) & 0xFF),((ipAddress >> 16) & 0xFF),((ipAddress >> 8) & 0xFF),(ipAddress & 0xFF));
但是所有下面的内容都不起作用
uint32_t aa=(uint32_t)("64.91.107.58");
uint32_t aa=atoi("64.91.107.58");
uint32_t aa=strtol("64.91.107.58",NULL,10);