h_addr_list[0])[j]);str+=addr;}m_strIP=str;-IMDN开发者社群-imdn.cn"> h_addr_list[0])[j]);str+=addr;}m_strIP=str; - IMDN开发者社群-imdn.cn">
登录
首页 » VC++源码 » VC++ gethostbyname获取主机名和IP地址

VC++ gethostbyname获取主机名和IP地址

于 2022-11-09 发布 文件大小:13.02 kB
0 257
下载积分: 2 下载次数: 1

代码说明:

VC++ 获取主机名和IP地址,也就是根据主机名获得IP地址,使用了gethostbyname函数,然后再使用addr.Format格式化获取到IP地址。具体来看以下代码获取到IP地址:   // 获得主机ip地址   struct hostent * phost;   phost = gethostbyname(szhostname);//根据主机名获得IP地址    m_strName=szhostname;   int h_length=4;   for( int j = 0; j  {    CString addr;    if( j > 0 )    str += ".";    addr.Format("%u", (unsigned int)((unsigned char*)phost->h_addr_list[0])[j]);    str += addr;   }   m_strIP=str;

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC 创建内存映像文件对象并使用
    VC++6.0 创建内存映像文件对象并使用,实现了写入内存映射文件和从内存映射文件中读取数据,比如将数据从内存映射文件读出,实现方法如下:   void CFileMapTransTxtDlg::OnRead()   {    //创建内存映像对象    HANDLE hMapping;    LPSTR lpData;    hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,0x100,"MYSHARE");    if(hMapping==NULL)    {    AfxMessageBox("CreateFileMapping() failed.");    return;    }    //将文件的视图映射到一个进程的地址空间上,返回LPVOID类型的内存指针    lpData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);    if(lpData==NULL)    {    AfxMessageBox("MapViewOfFile() failed.");    return;    }    //给这段映像内存的数据赋给本地变量    m_strDest.Format("%s",lpData);    //释放映像内存    UnmapViewOfFile(lpData);    //更新数据    UpdateData(FALSE);   }
    2022-05-17 02:25:47下载
    积分:1
  • vc CListBox左右两个列表框互相交换数据
    这是一个常见的ListBox列表框用法,在本例中,左右两个列表框互相交换数据,具体的实现思路是通过INI文件来作为中间数据媒介,将左边列表框的学生姓名写入ini文件,然后从该ini文件读出放到右边的列表框中,编写的步骤是:从ini文件中获得数量,从ini文件中获得学生,并加到右边列表中,获得学生数量,将学生写入ini文件,将学生数量写入ini文件。
    2022-03-12 17:49:53下载
    积分:1
  • VC++ 6.0创建带有文本指示的自定义进度条
    VC++ 6.0创建带有文本指示的自定义进度条,自己创建的带有文本的进度条:,   GetClientRect(&rectClient);//获取进度条窗口   CBrush brush;   brush.CreateSolidBrush(::GetSysColor(COLOR_3DFACE));//获取系统画刷   dc.FillRect(&rectClient, &brush);//填充进度条窗口   VERIFY(brush.DeleteObject());//删除画刷   if (m_nCurrentPosition m_nUpper)//进度条没有运行   {    return;   }   brush.CreateSolidBrush(RGB(0, 0,255));//创建蓝色画刷   RECT rectFill;//定义填充区域   float fillwidh=(float)((float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower))*rectClient.right;   ::SetRect(&rectFill,    0,// 左上X坐标    0,//左上Y坐标    (int)fillwidh,//右下X坐标    rectClient.bottom+1);//右下Y坐标   dc.FillRect(&rectFill,&brush);//填充进度条区域   VERIFY(brush.DeleteObject());   CString percent;   percent.Format("已完成:%.0f%%", 100.0*(float)(m_nCurrentPosition-m_nLower)/(float)(m_nUpper-m_nLower));   dc.SetTextColor(RGB(255,0,0));//设置文本颜色   dc.SetBkMode(TRANSPARENT);//透明背景   dc.DrawText(percent, &rectClient, DT_VCENTER|DT_CENTER|DT_SINGLELINE);//显示文本信息
    2023-06-16 21:25:02下载
    积分:1
  • VC6.0 对画图文档实行序列化处理
    VC6.0 文档序列化实例——对画图文档实行序列化处理,文挡之序列化(Serialize)读写例子,代码翻译:一剑。   // 打印带水平线的文档名字   pDC->SetTextAlign(TA_LEFT);   pDC->TextOut(0,-25, strHeader); // 1/4 inch down   // 在文档头的下面画一条直线横穿页面   TEXTMETRIC textMetric;   pDC->GetTextMetrics(&textMetric);   int y = -35 - textMetric.tmHeight; // 横线在距离文本下方1/10 英寸处   pDC->MoveTo(0, y); // 从左边空白处   pDC->LineTo(pInfo->m_rectDraw.right, y); // 到右边空白处   y -= 25;   pInfo->m_rectDraw.top += y;
    2023-04-28 14:50:03下载
    积分:1
  • VC++ 实现基于文档视图结构的打印
    VC++ 实现基于文档视图结构的打印功能,把窗口中所显示的内容,包括表格全部打印出来,这种打印功能是最常规也是最实用的,源代码部分请参考DocViewPrintView.cpp文件,以下为参数定义:   CFont m_titlefont; //标题字体   CFont m_bodyfont; //正文字体   int screenx,screeny; //获取窗口每英寸像素数   int printx,printy; //获取打印机每英寸像素数   double xrate,yrate; //打印机与屏幕的像素比率   int pageheight; //打印纸高度   int pagewidth; //打印纸宽度   int leftmargin,rightmargin; //打印纸左右边距   BOOL isPreview; //是否处于预览状态
    2022-06-19 11:39:54下载
    积分:1
  • VC++ 6.0 定时关机
    VC++ 6.0 定时关机,设置时间,自动关机,时间以分钟计,在确定使用本功能前,请确保保存当前工作,系统将于设定的时间到达后自动关机。
    2022-02-04 23:31:44下载
    积分:1
  • VC++ 6.0 启动画面编程实例
    VC++ 6.0 启动画面编程实例,现在这种软件启动方式比较常见了,打开软件 后,先显示一个启动画面,同时程序开始载入,显示进度条,本例子我觉得演示的挺好,源代码编译环境:vc++6.0,运行截图:请参见测试截图。
    2022-03-18 03:56:27下载
    积分:1
  • VC++自定义鼠标击键(点击)的声音
    VC++自定义鼠标击键声音,包括单击鼠标左键和右键的声音信息,一般情况下,Windows系统中有内置的声音,本程序是修改掉默认的单击声,改为自定义的,想熟悉修改过程的,可下载本源码参考。   运行本程序后,在窗口空白处单击鼠标左键或右键会出现与系统不一样的叮咚声音。
    2022-03-25 07:58:00下载
    积分:1
  • VC++ WeiXinPay微信扫描二维支付相关
    VC++ WeiXinPay微信扫描二维码支付相关源码,这是个VC.NET源码项目,使用了qrencode生成了二维码,本微信支付项目功能包括了生成二维码、结果签名验证、下单测试、生成15位随机字符串等,有一些公共支付接口部分,需要用时候,自己修改:   CString g_strAPIKey("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");//*改* 32位的APIkey   CString g_strAppId("xxxxxxxxxxxxxxxxxx");//*改* 用户的APPID 貌似是18位的   CString g_strBody("刘隽曦的支付测试");//*改* 商品名   CString g_strMchId("xxxxxxxxxx");//*改* 商户号貌似10位   CString g_strIp("192.168.0.136");//*改* 本机IP   int g_nTotalFree = 1;//*改*商品价格 分   本源代码仅供支付,有时候微信支付接口在变化,可能会导致程序不可用。
    2022-03-24 04:25:36下载
    积分:1
  • VC 结合定时器隐藏进程一定时间
    VC++ 隐藏进程,这个例子结合了计时器来实现,不是永久隐藏,是隐藏进程一定时间,根据定时器返回的时间,重新显示进程。   要实现这个过程,可编写以下代码:   LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;   //加载RegisterServiceProcess函数所在的链接库   hDLL = LoadLibrary("KERNEL32");   //得到RegisterServiceProcess函数的地址   lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL, "RegisterServiceProcess");   //执行RegisterServiceProcess函数,在任务列表中隐藏程序   lpRegisterServiceProcess(GetCurrentProcessId(),1);   //卸载链接库   FreeLibrary(hDLL);   //设定定时器   SetTimer(0,m_nSeconds*1000,NULL);   //隐藏程序的同时,隐藏窗口   ShowWindow(SW_HIDE);   后续会卸载链接库,请下载源码查看源代码文件。
    2022-04-17 12:20:46下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载