Преобразование IP из строки C в беззнаковое int? - PullRequest
4 голосов
/ 16 сентября 2011

У меня быстрый вопрос; У меня есть IPv4 в строке C (скажем «192.168.0.1»), и я хочу преобразовать его в uint32_t. Я уверен, что для этого должна быть какая-то функция, но я ее не нашел. Есть идеи?

1 Ответ

10 голосов
/ 16 сентября 2011

Функция называется inet_aton.

int inet_aton(const char *cp, struct in_addr *inp);

Структура in_addr определяется в <netinet/in.h> как:

typedef uint32_t in_addr_t;

struct in_addr {
    in_addr_t s_addr;
};

Конечно, вы также можете использовать более новую функцию inet_pton.

...