我编写了一个将 IP 地址作为参数的程序,我想将此 IP 地址存储在 unit32_t 中。我可以轻松地将 uint32_t 转换回字符数组。如何将字符数组中的 IP 地址转换为 uint32_t。
例如
./IPtoCHAR 1079733050
uint32_t 到 IP 地址 => 64.91.107.58
但是如何编写一个执行相反任务的程序呢?
./CHARtoIP 64.91.107.58
对于第一个 IPtoCHAR,它是
无符号整数 ipAddress = atoi(argv[1]);
printf("IP 地址 %d.%d.%d.%d \n",((ipAddress >> 24) & 0xFF),((ipAddress >> 16) & 0xFF),((ipAddress >> 8) & 0xFF),(IP 地址 & 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);