gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:16:17 24 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地址%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/56685102/

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