Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting IP from C string to unsigned int?

Tags:

c

linux

windows

ip

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?

like image 265
KaiserJohaan Avatar asked Dec 28 '22 14:12

KaiserJohaan


1 Answers

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.

like image 127
cnicutar Avatar answered Jan 09 '23 15:01

cnicutar