问题描述
- 实现获取本机所配置的dns服务器(windows)的IPv6地址c++代码
-
项目要求实现获取本机所配置的dns服务器(windows)的IPv6地址,求大侠指点
解决方案
最简单的是调用ipconfig,获取它的输出结果。
解决方案二:
ipconfig /all
然后解析输出内容。
解决方案三:
ipconfig /all是个方法,也有C++的:
#include #include using namespace std;#pragma comment(lib, "ws2_32.lib");int main(){ WSADATA wsaData; WORD sockVersion = MAKEWORD(2, 2); ::WSAStartup(sockVersion, &wsaData); char lv_name[50]; gethostname(lv_name, 50); hostent * lv_pHostent; lv_pHostent = (hostent *)malloc(sizeof(hostent)); if( NULL == (lv_pHostent = gethostbyname(lv_name))) { printf("get Hosrname Fail n"); return 0; } SOCKADDR_IN lv_sa; lv_sa.sin_family = AF_INET; lv_sa.sin_port = htons(6000); memcpy(&lv_sa.sin_addr.S_un.S_addr, lv_pHostent->h_addr_list[0], lv_pHostent->h_length); printf("%sn", inet_ntoa(lv_sa.sin_addr)); free(lv_pHostent); return 0;}
这也是一个很简单的代码