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 256
下载积分: 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++ 6.0 定制分割条(分隔条)的样式及大小
    VC++ 6.0 定制分割条,也就是窗体的分隔条,将窗口分隔成若干个部分,用来显示不同的内容,该窗格视图为CStaticSplitWnd4View,该窗格大小不能通过拖动改变,不过我们可以通过菜单命令动态改变大小,窗格视图为CView2,该窗格大小不能通过拖动改变,窗格视图CView3和CView4都可以通过分隔条的拖动来改变视图大校   本示例中的分隔条经过了初级的美化,而且也向用户展示了,如何通过分割条来固定分栏窗格视图的大小,如何让分隔条不支持拖动等功能。
    2023-08-22 18:20:04下载
    积分:1
  • 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++ 实现定制打印页的页眉和页脚
    VC++ 实现定制打印页的页眉和页脚,除了自定义打印页脚和页眉外,还可根据每页显示行数,设置打印页数,并且在需要时,屏蔽默认函数对OnDraw的调用。打印方面的定制,可参考以下代码:   void CMultiPrint2View::PrintHeader(CDC *pDC)//定制页眉   {   pDC->TextOut(0,0,"设置打印页眉和页脚测试:来首诗吧:再别康桥");   }   void CMultiPrint2View::PrintFooter(CDC *pDC)//定制页角   {   CMultiPrint2Doc* pDoc = GetDocument();//获取文档指针   ASSERT_VALID(pDoc);   CString str;   CPoint point(0,-1440*10-1000);   str.Format("当前文档:%s",(LPCSTR)pDoc->GetTitle());//获取当前文档名   pDC->TextOut(point.x,point.y,str);   str.Format("第%d页,共%d页",m_nPage,(pDoc->m_stringArray.GetUpperBound()/pDoc->m_LinePerPage+1));   CSize size=pDC->GetTextExtent(str);//获取输出文本宽度   point.x+=1440*6+1600-size.cx;   pDC->TextOut(point.x,point.y,str);   }完整的代码请下载源码吧。
    2022-07-05 00:30:40下载
    积分:1
  • VC++ 自定义每个Tab内的Dlg效果
    VC++ 创建窗体的Tab,为每一个TAB页创建不同的Dlg,如图所示,每一个TAB内有可能是一张图片,也有可能是一个登录界面或一个Combobox,或者是一个树形菜单,总之,每个TAB除了隔离显示内容外,还自定义了多种形式的数据,增加了TAB窗口的实用性,最终运行效果请参见截图所示。
    2022-08-21 06:29:38下载
    积分:1
  • VC++ 6.0 查询日期控件内的数据库内容
    VC++ 6.0 查询日期控件内数据,这个例子是结合数据库实现的,应该算是数据库实例的范畴,是一个将日期类型数据作为查询条件的一个例子。只不过这里的日期类型,是通过日期控件来选择,因此本实例演示了两个重要功能:一、数据库查询检索、二日期控件的使用,使用日期控件可有效避免用户手动输入日期数据出错,减少不必要的时间。
    2022-03-14 13:16:20下载
    积分:1
  • VC++ 设置位置断点跟踪程序
    VC++ 设置位置断点跟踪程序,利用随机产生的数组来测试断点跟踪的效果,具体的实现代码:   srand( (unsigned)time( NULL ) );//产生随机种子   int array[number];   CString str1,str2;   str1="原始顺序:";   for(int i=0;i  {    array[i]=rand();//设置条件断点    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,10,str1);//输出原始数组顺序   BubbleSort(array, 1, number);   str1="排序顺序:";   for( i=0;i  {    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,30,str1);//输出排序后的数组顺序
    2022-03-21 21:04:24下载
    积分:1
  • 简单演示多线程的创建和使用VC++
    一个VC++ Win32程序执行单元——多线程 的创建和使用例子,测试时请在CMD控制台中运行Exe,之后看到的运行结果如图所示,代码部分,请参考以下:   HANDLE CreateThread(    LPSECURITY_ATTRIBUTES lpThreadAttributes, // 安全    DWORD dwStackSize, // 堆栈大小    LPTHREAD_START_ROUTINE lpStartAddress, // 起始地址(函数名)    LPVOID lpParameter, // 参数    DWORD dwCreationFlags, // 是否启动    LPDWORD lpThreadId // 新生成的线程ID   );   int main(int argc, char* argv[])   {    HANDLE hThreadProc;    DWORD dwThreadId;    hThreadProc=CreateThread(    NULL,    NULL,    ThreadProc,    NULL,    0, //使线程立即运行    &dwThreadId    );    printf("Now another thread has been created,ID=%d ",dwThreadId);    //等待新线程运行结果    ::WaitForSingleObject(hThreadProc,INFINITE);    ::CloseHandle(hThreadProc);    return 0;   }
    2022-03-26 13:48:22下载
    积分:1
  • 用VS2008+ATL开发可以显示Gif的ActiveX控件
    VS2008%2BATL开发Gif的ActiveX控件%28毛坯%29   创建一个空的解决方案,名称GifSolution。将来包含控件项目和测试项目。新建项目,弹出的对话框中选ATL项目,名称为GifAnimate确定。弹出的对话框中选择DLL服务器(可选允许合并代理存根,这样不会产生代理dll),完成后编译,这样工程框架就完成了。   组件分有窗口的和无窗口的,这里应该用有窗口的,所以添加组件的时候,外观不要基于none,最好基于CStatic。因为gif是动态的,应该用另一个线程绘制,这样不影响主线程响应消息,绘图更加流畅。   为GifAnimate项目添加类-选择ATL控件,点击添加,弹出对话框。   1.本文只是举例说明开发过程,抛砖而已。   2.样例只是框架,不能直接使用,所有代码没有经过测试   3.样例接收器GifSink和属性页卡片没有完成,懒了,呵呵   4.样例背景等很多属性没有实现   5.使用了GDI+,但GDI+的Image类的SetActiveFrame函数有问题,网上貌似没有解决办法。Debug版本不影响使用,Release版本没有测试。如果有兴趣,可以使用IPicture接口,网上很多。
    2022-03-31 20:14:24下载
    积分:1
  • VC++ 农历日历/日程记事
    这个小程序由VC++6.0代码编写,以阴历和阳历相结合的方式显示的日历,起的名字叫做"桌面精灵"吧.其中还包含二十四节气以及一些中西方节日,这些特殊的日期都用不同的颜色进行标注。右键单击主界面,在弹出的菜单中选择“窗口设置”命令,打开“窗口设置”模块,在该模块中,用户可以设置窗口的显示风格,包括普通窗口、总在最前和嵌入桌面3种,还可以进行系统设置,包括开机自动运行、鼠标穿透和透明度设置。通过设置这些风格可以更灵活的使用桌面精灵模块。   新建备忘录:右键单击主界面,在弹出的菜单中选择“新建备忘录”命令,打开“新建备忘录”窗口,在该模块中,可以添加备忘录信息,用来提醒用户,一以免忘记重要的工作。
    2023-08-29 05:45:03下载
    积分:1
  • VC++ Windows Shell扩展 上下文菜单扩展
    VC++ Windows Shell扩展,设计 制作 上下文菜单扩展,响应右键消息菜单,当用户点击我们添加的菜单项时该方法将被调用。将生成的菜单插入到shell上下文菜单中,返回插入的菜单数,一定要返回正确,包括生成的父菜单也要计入总数,如果用户是在浏览器窗口中右击文本文件,或选中一个文本文件后单击文件菜单时,状态栏会显示提示帮助。。。。
    2022-07-10 00:48:50下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载