в моем приложении c ++ я написал этот код:
struct ifaddrs *ifap;
if (0 != getifaddrs(&ifap)) {
error = errno;
return -1;
}
addresses.clear();
for (struct ifaddrs *ifa = ifap; ifa; ifa = ifa->ifa_next) {
sockaddr *s=ifa->ifa_addr;
PRINT(" LocalIP sockaddr %u.%u.%u.%u \n",s->sa_data[2],s->sa_data[3],s->sa_data[4],s->sa_data[5]);}
когда я отлаживаю печать, я вижу, что когда у меня статический ip, например 10.0.0.12, он печатает правильно. но ip из DHCP вроде 192.168.14.12 печатает "-64.-88.14.12"
как я могу решить эту проблему?
10x