IPアドレスを取得するにはどうすればよいですか(できれば192.168.0.1
フォーマット)?
このサンプルコードには、両方のインターフェース名がリストされています(例:lo
またはeth0
)コンピュータに存在するすべてのIPv4ネットワークインターフェイスに対して、現在割り当てられているIPアドレスと一緒に:
getifaddrs(&addrs);
tmp = addrs;
while (tmp)
{
if (tmp->ifa_addr && tmp->ifa_addr->sa_family == AF_INET)
{
struct sockaddr_in *pAddr = (struct sockaddr_in *)tmp->ifa_addr;
printf("%s: %s\n", tmp->ifa_name, inet_ntoa(pAddr->sin_addr));
}
tmp = tmp->ifa_next;
}
freeifaddrs(addrs);