这是我获取和输出无线 en1 的 IP 地址的函数。
char* getIPAddress(char* src)
{
struct ifaddrs *ifaddr, *ifa;
int family;
if (getifaddrs(&ifaddr) == -1) {
perror("getifaddrs");
exit(EXIT_FAILURE);
}
for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) {
if (ifa->ifa_addr == NULL)
continue;
family = ifa->ifa_addr->sa_family;
if (0 == strcmp(ifa->ifa_name,"en1" ) && (family == AF_INET)) { // v4
// en1
inet_ntop(ifa->ifa_addr->sa_family,&((struct sockaddr_in*)ifa)->sin_addr,src,sizeof(struct sockaddr_in));
}
}
freeifaddrs(ifaddr);
return src;
}
我希望有 129.10.10.50 或类似的东西,但现在它输出空白。