我有一个问题:我有一个IPv4地址的C字符串(比如"192.168.0.1"),我想将它转换为uint32_t类型。我相信应该有一些函数可以实现这个功能,但我还没有找到。有什么想法吗?
这个函数叫做inet_aton
。
int inet_aton(const char *cp, struct in_addr *inp);
<netinet/in.h>
中定义了结构体in_addr:
typedef uint32_t in_addr_t;
struct in_addr {
in_addr_t s_addr;
};
当然,你也可以使用更新的函数 inet_pton
。s_addr
,它是 unit32_t
。 - cnicutarinet_pton
函数。 - cnicutar
uint32_t
不是地址类型的合适选择。现代软件必须支持IPv6,因为这已经是2011年了。将地址存储为字符串以进行任何数据交换,并在getaddrinfo
返回的struct addrinfo *
中用于内部用户。 - R.. GitHub STOP HELPING ICE