int main (int argc, const char * argv[]) { struct ifaddrs * ifAddrStruct=NULL; void * tmpAddrPtr=NULL;
getifaddrs(&ifAddrStruct);
while (ifAddrStruct!=NULL) { if (ifAddrStruct->ifa_addr->sa_family==AF_INET) { // check it is IP4 // is a valid IP4 Address tmpAddrPtr=&((struct sockaddr_in *)ifAddrStruct->ifa_addr)->sin_addr; char addressBuffer[INET_ADDRSTRLEN]; inet_ntop(AF_INET, tmpAddrPtr, addressBuffer, INET_ADDRSTRLEN); printf("%s IP Address %s\n", ifAddrStruct->ifa_name, addressBuffer); } else if (ifAddrStruct->ifa_addr->sa_family==AF_INET6) { // check it is IP6 // is a valid IP6 Address tmpAddrPtr=&((struct sockaddr_in *)ifAddrStruct->ifa_addr)->sin_addr; char addressBuffer[INET6_ADDRSTRLEN]; inet_ntop(AF_INET6, tmpAddrPtr, addressBuffer, INET6_ADDRSTRLEN); printf("%s IP Address %s\n", ifAddrStruct->ifa_name, addressBuffer); } ifAddrStruct=ifAddrStruct->ifa_next; } printf("Login name is %s\n", getpwuid(getuid())->pw_name); return 0; }
// 以下这一行太长,需要自动换行 // Markdown Preview Enhanced 输出 PDF 代码块怎么自动换行?Markdown Preview Enhanced 输出 PDF 代码块怎么自动换行?Markdown Preview Enhanced 输出 PDF 代码块怎么自动换行?Markdown Preview Enhanced 输出 PDF 代码块怎么自动换行?Markdown Preview Enhanced 输出 PDF 代码块怎么自动换行?Markdown Preview Enhanced 输出 PDF 代码块怎么自动换行? // 这是代码块结束 ```