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 203
下载积分: 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++ 遍历记录集的例子,需要数据库配合,核心代码如下:   //连接数据库   OnInitADOConn();   //设置查询字符串   _bstr_t bstrSQL = "select * from employees order by 员工编号 desc";   //创建记录集指针对象实例   m_pRecordset.CreateInstance(__uuidof(Recordset));   //打开记录集   m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,    adLockOptimistic,adCmdText);   //遍历记录集   while(!m_pRecordset->adoEOF)   {    m_Grid.InsertItem(0,"");    m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));    m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));    m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));    m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));    //将记录集指针移动到下一条记录    m_pRecordset->MoveNext();   }   //断开数据库连接   ExitConnect();
    2022-09-02 14:45:03下载
    积分:1
  • VC++ 编程获取硬盘SMART信息
    VC++ 编程获取硬盘驱动器的SMART信息,SMART信息能对硬盘的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路等进行监测,及时分析并预报硬盘可能发生的问题。运行本源码测试前,请先打开Biso中的SMART信息监测开关。   本源码中的信息是英文的,使用时需要对照翻译过来,测试图如下所示。
    2022-06-03 05:08:07下载
    积分:1
  • VC6.0 使用信号量Semaphore实现线程的同步
    VC6.0 使用信号量Semaphore实现线程的同步,使用信号量实现线程同步,设置访问保护对象的最多线程数为2,确定当前已经启动运行的线程数目,可以创建线程。   CWinThread* pThread=AfxBeginThread(ThreadProc,&m_Edit);//开辟一个工作线程,   int thread=0;//全局变量记录当前运行线程的数目   CSemaphore mySemaphore(2,2);//创建CSemaphore类对象   UINT ThreadProc(LPVOID pParam)//工作线程入口函数   {    CEdit *pedit=(CEdit*)pParam;    CString str;    thread++;//线程数目加1    str.Format("%d",thread);    pedit->SetWindowText(str);//编辑框显示    CSingleLock singlelock(&mySemaphore);//创建CSingleLock类对象    singlelock.Lock();//计数器初始值减1    MessageBox(NULL,"信号量控制访问资源线程数","提示",MB_ICONWARNING);//弹出对话框    thread--;//线程数目减1    str.Format("%d",thread);    pedit->SetWindowText(str);//编辑框显示    return 0;   }
    2022-02-20 19:37:49下载
    积分:1
  • VC++ 图书管理系统含 SQLSERVER数据库
    一套完整的VC++ 图书管理系统源码,含 SQLSERVER数据库,数据库在database目录下,测试前请附加并连接好。源代码在源程序目录内,很完整,可在VC++6.0环境下顺利编译。运行效果如下图所示。   本套图书管理系统功能主要有:基本信息、图片管理、库存管理、查询管理、系统管理、系统登录、口令管理、系统人员管理等。每一个模块下都有很多子模块,界面设计也是很符合用户习惯的。
    2023-09-07 13:35:03下载
    积分:1
  • VC++ 获取主机名和IP地址及多线程运行示例
    VC++6.0获取主机名和IP地址,并演示多线程的运行示例,作者:fiwen。   获取IP地址是单击窗口右上角的“获缺按钮,即可显示主机名称和该机IP地址,多线程运行演示则打开后程序立即运行,左右两侧不同的线程,执行不同的任务,各自互不影响。   多线程演示部分,分别用了两个线程,每一个线程控制一个do while循环来运行,比如其中一个线程是这样写的:   CString str;   bool ReadData= TRUE;   int i=1;   do   {    //从1到99的平方    str.Format("%-3d的平方:%-5d",i,i*i);    pList->AddString(str);    Sleep(100);    i++;   }   while (ReadData=TRUE);   return 0;
    2022-01-20 22:35:47下载
    积分:1
  • VC++ SQL数据库提取器(备份、还原、分离数据库)
    VC++6.0编写的 SQL数据库提取器,本程序主要实现了备份和还原数据库、附加和分离数据库、提取数据表、导出数据、配置ODBC数据源等功能。   备份和还原数据库:在“选择数据库”下拉列表中选择要备份的数据库,单击工具栏中的备份数据库按钮,打开保存备份文件窗口,保存备份文件即可。还原数据库时,在“选择数据库”下拉列表中选择要还原的数据库,然后单击工具栏中的还原数据库按钮,选择备份文件,即可还原该数据库。   附加和分离数据库:单击附加数据库按钮,选择需要附加的数据库即可。   分离数据库时,在“选择数据库”下拉列表中选择要分离的数据库,然后单击分离数据库按钮即可。   提取数据表:选择要提取的数据库及相应的数据表,然后单击提取表结构按钮,打开“SQL提缺窗口,有两种提取方式,可以提取到Word或Excel中。   导出数据:选择要导出的数据表,单击“导出数据”按钮,打开“数据导出”窗口,有三种提取方式:导出到Word、导出到Excel、导出到文本,选择任意一种,单击“导出”按钮即可。
    2022-05-23 15:52:48下载
    积分:1
  • VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化
    VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化,这个具体点就是,窗口中的边框和按钮等元素,会随着窗口的变大自动变大,并保持原有的比例,调用了CSelfResizeWindow::Rectify()来实现,我觉得是个很实用的窗体设计技巧。关于本源代码的几点说明:   自定义类CSelfResizeWindow实现窗口和控件的自适应,根据屏幕尺寸调整大校   使用步骤 :   1. 使需要自适应的窗口类继承于类CSelfResizeWindow,在OnInitDialog()中调用    __super::Init(this, 1, 3000);(其中1和3000是资源ID的范围,在Resource.h    中用宏定义的,Init函数的参数根据情况确定。)   2. 给窗口类添加OnSize()消息响应函数,在OnSize()函数    中调用__super::Rectify();即可。
    2023-01-25 01:40:04下载
    积分:1
  • VC++ 获取所有进程并进行管理-进程管理器
    进程:进程管理器,VC++ 6.0枚举获取所有进程并进行管理-模拟一个进程管理器的写法,枚举Windows中所有正在运行的进程,本示例将演示如何获取进程路径,打开进程句柄,获取进程优先级,终止进程主函数,创建状态栏,获取当前行行号,在状态栏上显示时间,取得选择项目的索引,重新取得第一个位置,更新进程等。
    2022-01-22 05:53:39下载
    积分:1
  • 多任务多线程断点续传
    VC++下实现多任务多线程并发可断点续传功能的例程源代码VC++下实现多任务多线程并发可断点续传功能的例程源代码
    2022-03-21 18:31:32下载
    积分:1
  • VC++ 使用WinInet通过HTTP协议读取网上文件
    VC++ 6.0 使用WinInet通过HTTP协议读取网上文件   在一个按钮事件中定义了网络连接Session:   CInternetSession httpsession;//定义网络连接Session   CString Line;   CInternetFile* webfile=NULL;//定义一个文件对象指针   UpdateData();   if(m_Url.Left(7)!="http://")//如果地址不含HTTP类型标志则添加本地文件类型标志   读出文件前一部分,如果文件多于80行,三示例中只显示前80行.然后更新显示文件:   UpdateData(FALSE);//更新显示文件   delete webfile;//删除文件   GetDlgItem (IDC_SHOW)->EnableWindow (FALSE);//禁用显示按钮   httpsession.Close();//关闭连接
    2023-09-07 18:35:03下载
    积分:1
  • 696518资源总数
  • 106174会员总数
  • 31今日下载