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

 更新时间:2013年05月15日 09:40:18   作者:  
C语言获得电脑的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;
 }

相关文章

  • vector, list, map在遍历时删除符合条件的元素实现方法

    vector, list, map在遍历时删除符合条件的元素实现方法

    下面小编就为大家带来一篇vector, list, map在遍历时删除符合条件的元素实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C语言中字符的输入输出以及计算字符个数的方法详解

    C语言中字符的输入输出以及计算字符个数的方法详解

    这篇文章主要介绍了C语言中字符的输入输出以及计算字符个数的方法,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • C++用boost.signal实现多播委托

    C++用boost.signal实现多播委托

    这篇文章介绍了C++用boost.signal实现多播委托的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C语言怎样用指针指向字符串

    C语言怎样用指针指向字符串

    这篇文章主要介绍了C语言怎样用指针指向字符串问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • C语言基本排序算法之插入排序与直接选择排序实现方法

    C语言基本排序算法之插入排序与直接选择排序实现方法

    这篇文章主要介绍了C语言基本排序算法之插入排序与直接选择排序实现方法,结合具体实例形式分析了插入排序与直接选择排序的定义、使用方法及相关注意事项,需要的朋友可以参考下
    2017-09-09
  • C++封装静态链接库和使用的详细步骤

    C++封装静态链接库和使用的详细步骤

    这篇文章主要介绍了C++封装静态链接库和使用,本文描述了怎么去把一个C++程序封装成一个静态库并且如何去使用这些静态库,需要的朋友可以参考下
    2022-08-08
  • C++ 中动态链接库--导入和导出的实例详解

    C++ 中动态链接库--导入和导出的实例详解

    这篇文章主要介绍了C++ 中动态链接库--导入和导出的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 深入解析unsigned int 和 int

    深入解析unsigned int 和 int

    以下是对unsigned int和int进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • 关于C语言操作符的那些事(超级全)

    关于C语言操作符的那些事(超级全)

    这篇文章主要给大家介绍了关于C语言操作符的那些事儿,c语言的操作符有很多,包括算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员,需要的朋友可以参考下
    2021-08-08
  • 带你理解C语言中的汉诺塔公式

    带你理解C语言中的汉诺塔公式

    大家好,本篇文章主要讲的是带你理解C语言中的汉诺塔公式,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论