gpt4 book ai didi

c - 如何将 char[] 中的 IP 地址转换为 c 中的 Uint32_t?

转载 作者:太空狗 更新时间:2023-10-29 17:16:27 26 4
gpt4 key购买 nike

我写了一个以 IP 地址为参数的程序,我想把这个 IP 地址存储在 unit32_t 中。我可以轻松地将 uint32_t 转换回字符数组。如何将字符数组中的 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);

最佳答案

您使用 inet_pton .功能

反过来你应该使用 inet_ntop .


有关特定于 Windows 的文档,请参阅 inet_ptoninet_ntop .


请注意,这些函数可用于 IPv4 和 IPv6。

关于c - 如何将 char[] 中的 IP 地址转换为 c 中的 Uint32_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com