实现获取本机所配置的dns服务器(windows)的IPv6地址c++代码 2C

项目要求实现获取本机所配置的dns服务器(windows)的IPv6地址,求大侠指点

3个回答

最简单的是调用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("%s\n", inet_ntoa(lv_sa.sin_addr)); free(lv_pHostent); return 0;}
这也是一个很简单的代码

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问