VC获取本机IP地址列表

2024-06-08 02:38
文章标签 ip 地址 列表 获取 vc 本机

本文主要是介绍VC获取本机IP地址列表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


来源:http://www.2cto.com/kf/201102/83560.html


#include <stdio.h> 
#include <winsock2.h> 
#pragma comment(lib,"ws2_32.lib")

int doit(int, char **) 

 char host_name[255]; 
 //获取本地主机名称 
 if (gethostname(host_name, sizeof(host_name)) == SOCKET_ERROR) { 
  printf("Error %d when getting local host name. ", WSAGetLastError()); 
  return 1; 
 } 
 printf("Host name is: %s ", host_name); 
 
 //从主机名数据库中得到对应的“主机” 
 struct hostent *phe = gethostbyname(host_name); 
 if (phe == 0) { 
  printf("Yow! Bad host lookup."); 
  return 1; 
 } 
 
 //循环得出本地机器所有IP地址 
 for (int i = 0; phe->h_addr_list[i] != 0; ++i) { 
  struct in_addr addr; 
  memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr)); 
  printf("Address %d : %s " , i, inet_ntoa(addr)); 
 } 
 
 return 0; 
}

int main(int argc, char *argv[]) 

 WSAData wsaData; 
 if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) { 
  return 255; 
 } 
 
 int retval = doit(argc, argv); 
 
 WSACleanup(); 
 
 return retval; 
}




这篇关于VC获取本机IP地址列表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041002

相关文章

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

VC网络协议

// PCControlDlg.cpp : 实现文件//#include "stdafx.h"#include "PCControl.h"#include "PCControlDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框#ifde

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给

webapp地址

F:\LSP\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

Spring+MyBatis+jeasyui 功能树列表

java代码@EnablePaging@RequestMapping(value = "/queryFunctionList.html")@ResponseBodypublic Map<String, Object> queryFunctionList() {String parentId = "";List<FunctionDisplay> tables = query(parent

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

JS和jQuery获取节点的兄弟,父级,子级元素

原文转自http://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素。 <div id="test"><div></div><div></div

vcpkg子包路径批量获取

获取vcpkg 子包的路径,并拼接为set(CMAKE_PREFIX_PATH “拼接路径” ) import osdef find_directories_with_subdirs(root_dir):# 构建根目录下的 "packages" 文件夹路径root_packages_dir = os.path.join(root_dir, "packages")# 如果 "packages"