获取本机的IP地址代码

来源:互联网 发布:地平线 你知我知 编辑:程序博客网 时间:2024/05/17 08:36

#include<stdio.h>
#include<winsock2.h>

#pragma comment(lib,"ws2_32")

//void CheckIP(void);

/* 定义CheckIP()函数,用于获取本机IP地址 */
void CheckIP(void)
{
 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("the ip is:%s/n",ip);//输出IP地址
   }
  }
  WSACleanup( );//卸载Winsock库,并释放所有资源
 }
}

int main(void)
{
 CheckIP();
 return 0;
}

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一岁宝宝呕吐腹泻怎么办 5岁儿童腹泻呕吐怎么办 4岁宝宝呕吐腹泻怎么办 7岁儿童腹泻呕吐怎么办 一个月婴儿呕奶怎么办 一个月婴儿呕奶严重怎么办 6岁宝宝大便干燥怎么办 3岁儿童干咳嗽怎么办 3岁宝宝一直咳嗽怎么办 3岁宝宝风寒咳嗽怎么办 刚出生的宝宝拉奶瓣怎么办 小孩拉痢疾带血怎么办 2岁宝宝有点拉稀怎么办 1岁宝宝有点拉稀怎么办 3岁宝宝有点拉稀怎么办 甲减粘液性水肿怎么办 五个月宝宝断奶不吃奶粉怎么办 八个半月的宝宝不爱吃饭怎么办 十个半月宝宝不爱吃饭怎么办 九个半月宝宝不爱吃饭怎么办 七个半月宝宝不爱吃饭怎么办 8个半月宝宝不爱吃饭怎么办 八个半月宝宝不爱吃饭怎么办 特百惠杯子摔坏后不给换怎么办 特百惠水杯摔裂了怎么办 焖烧杯摔瘪了怎么办 苦瓜和虾一起吃中毒怎么办 乐扣盖子坏了怎么办 小孩上课坐不住好动怎么办 5小孩晚上不睡觉怎么办 一年级的孩子上课好动怎么办 一岁宝宝太好动怎么办 3岁宝宝太好动怎么办 孩子学习注意力不集中怎么办 1岁宝宝皮肤黄怎么办 三岁宝宝太皮怎么办 一岁宝宝太皮了怎么办 5岁宝宝学习太皮怎么办 2岁宝宝太皮了怎么办 身上的皮肤很干怎么办 小孩子挑食厌食不吃饭怎么办