用C++编程显示ip地址

完整代码,最好显示网关... 完整代码,最好显示网关 展开
 我来答
peterliht221
2012-01-11 · TA获得超过3114个赞
知道小有建树答主
回答量:389
采纳率:0%
帮助的人:284万
展开全部
下面是 getip1 程序的代码,很简单:

////////////////////////////////////////////////////////////////
// getip1.cpp
//
// 本程序报告本机上每一块网卡的IP地址
// 命令行编译命令为:
//
// cl getip1.cpp wsock32.lib
//
// 请一定要在环境变量中正确指定LIB库的路径;可以运行vcvars32.bat
//
#include <winsock.h>
#include <wsipx.h>
#include <wsnwlink.h>
#include <stdio.h>

int main()
{
////////////////
// 初始化 Windows sockets API. 要求版本为 version 1.1
//
WORD wVersionRequested = MAKEWORD(1, 1);
WSADATA wsaData;
if (WSAStartup(wVersionRequested, &wsaData)) {
printf("WSAStartup failed %s\n", WSAGetLastError());
return -1;
}

//////////////////
// 获得主机名.
//
char hostname[256];
int res = gethostname(hostname, sizeof(hostname));
if (res != 0) {
printf("Error: %u\n", WSAGetLastError());
return -1;
}
printf("hostname=%s\n", hostname);
////////////////
// 根据主机名获取主机信息.
//
hostent* pHostent = gethostbyname(hostname);
if (pHostent==NULL) {
printf("Error: %u\n", WSAGetLastError());
return -1;
}
//////////////////
// 解析返回的hostent信息.
//
hostent& he = *pHostent;
printf("name=%s\naliases=%s\naddrtype=%d\nlength=%d\n",
he.h_name, he.h_aliases, he.h_addrtype, he.h_length);

sockaddr_in sa;
for (int nAdapter=0; he.h_addr_list[nAdapter]; nAdapter++) {
memcpy ( &sa.sin_addr.s_addr, he.h_addr_list[nAdapter],he.h_length);
// 输出机器的IP地址.
printf("Address: %s\n", inet_ntoa(sa.sin_addr)); // 显示地址串
}
//////////////////
// 终止 Windows sockets API
//
WSACleanup();
return 0;
}
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
徐志伟
2015-10-25 · 知道合伙人制造业行家
徐志伟
知道合伙人制造业行家
采纳数:75 获赞数:11841
北京盛世荣达科技开发有限公司ATM工程师

向TA提问 私信TA
展开全部
下面是 getip1 程序的代码:

// getip1.cpp
// 本程序报告本机上每一块网卡的IP地址
// 命令行编译命令为:
// cl getip1.cpp wsock32.lib
// 请一定要在环境变量中正确指定LIB库的路径;可以运行vcvars32.bat
#include <winsock.h>
#include <wsipx.h>
#include <wsnwlink.h>
#include <stdio.h>

int main()
{
// 初始化 Windows sockets API. 要求版本为 version 1.1
WORD wVersionRequested = MAKEWORD(1, 1);
WSADATA wsaData;
if (WSAStartup(wVersionRequested, &wsaData)) {
printf("WSAStartup failed %s\n", WSAGetLastError());
return -1;
}

// 获得主机名.
char hostname[256];
int res = gethostname(hostname, sizeof(hostname));
if (res != 0) {
printf("Error: %u\n", WSAGetLastError());
return -1;
}
printf("hostname=%s\n", hostname);
// 根据主机名获取主机信息.
hostent* pHostent = gethostbyname(hostname);
if (pHostent==NULL) {
printf("Error: %u\n", WSAGetLastError());
return -1;
}

// 解析返回的hostent信息.
hostent& he = *pHostent;
printf("name=%s\naliases=%s\naddrtype=%d\nlength=%d\n",
he.h_name, he.h_aliases, he.h_addrtype, he.h_length);

sockaddr_in sa;
for (int nAdapter=0; he.h_addr_list[nAdapter]; nAdapter++) {
memcpy ( &sa.sin_addr.s_addr, he.h_addr_list[nAdapter],he.h_length);
// 输出机器的IP地址.
printf("Address: %s\n", inet_ntoa(sa.sin_addr)); // 显示地址串
}
// 终止 Windows sockets API
WSACleanup();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-11
展开全部
如果最简单的话,就是这个了:
#include<iostream>
using namespace std;

int main()
{
system("ipconfig");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
危献e3
2012-01-11 · TA获得超过2053个赞
知道大有可为答主
回答量:2738
采纳率:0%
帮助的人:1957万
展开全部
#include<stdlib.h>

int main()
{
system("ipconfig /all");
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l6135379
2012-01-11 · TA获得超过4304个赞
知道大有可为答主
回答量:7110
采纳率:16%
帮助的人:1777万
展开全部
#include<stdlib.h>

int main()
{
system("ipconfig /all");
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式