电脑的IP地址 C语言获得电脑的IP地址的小例子

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

电脑的IP地址 C语言获得电脑的IP地址的小例子

  2021-03-18 我要评论
想了解C语言获得电脑的IP地址的小例子的相关内容吗,在本文为您仔细讲解电脑的IP地址的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:IP,地址,下面大家一起来学习吧。
复制代码 代码如下:

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

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

 int main()
 {
     char host_name[256]; // define host name (for example:xxx-PC)
     int WSA_return, i;
     WSADATA WSAData;
     HOSTENT *host_entry; // record host information
     WORD  wVersionRequested;

 
     wVersionRequested = MAKEWORD(2, 0);
     WSA_return = WSAStartup(wVersionRequested, &WSAData); // initialize Winsock service and then call other socket or dll file

     if (WSA_return == 0) // initialize success
     {
         gethostname(host_name, sizeof(host_name));
         host_entry = gethostbyname(host_name);

         for(i = 0; host_entry != NULL && host_entry->h_addr_list[i] != NULL; ++i)
         {
             // define pszAddr to record IP
             // inet_ntoa: Convert an IP into an Internet standard dotted format string
             const char *pszAddr = inet_ntoa (*(struct in_addr *)host_entry->h_addr_list[i]);
             printf("[IP]\t%s\n[Name]\t%s\n\n", pszAddr, host_name);
         }
     }
     else
     {
         printf("ERROR\n");
     }
     /* WSACleanup() finish use Winsock 2 DLL (Ws2_32.dll). Head:Winsock2.h. reference #pragma comment(lib, "ws2_32.lib") */
     WSACleanup();
     return 0;
 }

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们