#include #include #include #include #include #include using namespace std; class IPConvert { public: static void getStringIP(uint32_t ip, char *strIP) { in_addr addr; addr.s_addr = ip; inet_ntop(AF_INET, (void *)&addr, strIP, INET_ADDRSTRLEN); } static void getStringIP(in_addr &addr, char *strIP) { inet_ntop(AF_INET, (void *)&addr, strIP, INET_ADDRSTRLEN); } static in_addr getIntIP(const char *strIP) { in_addr addr; inet_pton(AF_INET, strIP, (void *)&addr); return addr; } }; void testIPConvert() { in_addr address; char strIP[INET_ADDRSTRLEN]; memset(strIP, 0, INET_ADDRSTRLEN); IPConvert::getStringIP(338799626, strIP); printf("%s\n", strIP); address = IPConvert::getIntIP("255.255.255.255"); printf("%d\n", address.s_addr); IPConvert::getStringIP(address, strIP); printf("%s\n", strIP); } int main(int argc, char *argv[]) { testIPConvert(); return EXIT_SUCCESS; }