Converting IP from C string to unsigned int?

2019-02-24 10:03发布

问题:

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.



标签: c windows linux ip