博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++:gethostname,gethostbyname获取IP地址和计算机名
阅读量:5285 次
发布时间:2019-06-14

本文共 861 字,大约阅读时间需要 2 分钟。

使用gethostname()和gethostbyname()获取IP地址和计算机名,记录一下,省得老忘。

 

[cpp]   
 
  1. int CNetTestDlg::GetLocalHostName( CString& sHostName )     // 获取机器名  
  2. {  
  3.  char szHostName[256];  
  4.  int nRetCode;  
  5.  nRetCode = gethostname(szHostName, sizeof(szHostName));  
  6.  if (nRetCode != 0)  
  7.  {  
  8.   memcpy(szHostName, ("Not Available"), sizeof("Not Available"));  
  9.   return WSAGetLastError();  
  10.  }  
  11.  sHostName = szHostName;  
  12.  return 0;  
  13. }  

 

[cpp]   
 
    1. int CNetTestDlg::GetIPAddress(const CString& sHostName, CString& sIPAddress)    // 获取IP地址  
    2. {  
    3.  struct hostent *lpHostEnt = gethostbyname(sHostName);  
    4.  if (lpHostEnt == NULL)  
    5.  {  
    6.   sIPAddress = "";  
    7.   return WSAGetLastError();  
    8.  }  
    9.  LPSTR lpAddr = lpHostEnt->h_addr;  
    10.  if (lpAddr)  
    11.  {  
    12.   struct in_addr inAddr;  
    13.   memmove(&inAddr, lpAddr, 4);      // 将地址进行转换成常规形式  
    14.   sIPAddress = inet_ntoa(inAddr);  
    15.   if (sIPAddress.IsEmpty())  
    16.   {  
    17.    sIPAddress = "Not available";  
    18.   }  
    19.  }  
    20.  return 0;  
    21. }  
 

转载于:https://www.cnblogs.com/killer-xc/p/6609898.html

你可能感兴趣的文章
LeetCode "Roman to Integer"
查看>>
C# 反射
查看>>
GitBook配置
查看>>
MySQL 中隔离级别 RC 与 RR 的区别
查看>>
[读码时间] 弹出层效果
查看>>
session退出页面
查看>>
telnet登录路由器启动服务的shell脚本
查看>>
HSRP 详解
查看>>
mono3.2.3+Jexus5.5+openSuSE13.1的asp.net
查看>>
UVAL 4728 Squares(旋转卡壳)
查看>>
Ordered Fractions usaco
查看>>
SQA
查看>>
IO模型前戏
查看>>
web框架的概念
查看>>
算法训练 字串统计
查看>>
安卓详细布局分析-从根布局到具体布局
查看>>
Codeforces-733C-Epidemic in Monstropolis&&733D-Kostya the Sculptor(乱搞)
查看>>
HDU-4614-Vases and Flowers(线段树)
查看>>
eclipse——代码折叠快捷
查看>>
初识windos程序
查看>>