I've got a quick question; I have an IPv4 in a C string (say "192.168.0.1") and I want to convert it to an uint32_t. I'm sure there should be some function for that but I havn't found it. Any ideas?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The function is called inet_aton
.
int inet_aton(const char *cp, struct in_addr *inp);
The structure in_addr is defined in <netinet/in.h>
as:
typedef uint32_t in_addr_t;
struct in_addr {
in_addr_t s_addr;
};
Of course you can also use the newer function inet_pton
.