找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 139|回复: 0

获取IP的C++代码

[复制链接]

2万

主题

1249

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
7
听众
1
威望
48
贡献
14307
违规
0
书币
49981
注册时间
2020-4-8

论坛元老灌水之王

发表于 2021-11-23 11:54 | 显示全部楼层 |阅读模式
获取IP的C++代码
我想在这里强烈指出程序员与脚本小子与装B者的区别:一个有天分的程序员,他在登陆系统的时候,不会去考虑自己的手指敲击在哪个建上,而是在考虑为什么敲击键盘能够登陆到操作系统中!!!
很详细的注释,所以不作评论

[C++] 纯文本查看 复制代码
#include<stdio.h>

#include<winsock2.h>

#pragma comment(lib,"ws2_32.lib")

void CheckIP(void) //定义CheckIP()函数,用于获取本机IP地址 

{

WSADATA wsaData;

char name[255]; //定义用于存放获得的主机名的变量 

char *ip; //定义IP地址变量 

PHOSTENT hostinfo; 

//调用MAKEWORD()获得Winsock版本的正确值,用于加载Winsock库 

if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) { 

//现在是加载Winsock库,如果WSAStartup()函数返回值为0,说明加载成功,程序可以继续 

if( gethostname ( name, sizeof(name)) == 0) { 

//如果成功地将本地主机名存放入由name参数指定的缓冲区中 

if((hostinfo = gethostbyname(name)) != NULL) { 

//这是获取主机名,如果获得主机名成功的话,将返回一个指针,指向hostinfo,hostinfo 

//为PHOSTENT型的变量,下面即将用到这个结构体 

ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); 

//调用inet_ntoa()函数,将hostinfo结构变量中的h_addr_list转化为标准的点分表示的IP 

//地址(如192.168.0.1) 

printf("%s\n",ip);//输出IP地址

} 

} 

WSACleanup( ); //卸载Winsock库,并释放所有资源 

} } 

int main(void)

{

CheckIP();

return 0;

}


Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-11-21 17:08 , Processed in 0.054118 second(s), 28 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表