需求描述
在Windows中使用C语言有时候需要获取本机的所有IP地址,这里记录一下整理的通过C语言来获取本机的所有IP地址的代码供大家参考,也作为备忘。
实现代码
使用C语言获取本机的所有IP地址的代码如下:
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib") //链接静态库
void PrintLocalIPs(){
WORD v = MAKEWORD(1, 1);
WSADATA wsaData;
WSAStartup(v, &wsaData); // 加载套接字库
int i = 0;
struct hostent *pHostInfo = gethostbyname("");
for(i = 0; NULL != pHostInfo&& NULL != pHostInfo->h_addr_list[i]; ++i)
{
char *pszAddr = inet_ntoa(*(struct in_addr *)pHostInfo->h_addr_list[i]);
printf("%s\n", pszAddr);
}
WSACleanup( );
}
int main(){
PrintLocalIPs();
return 0;
}
评论区