vc获取本地IP和机器名

#include <winsock2.h>
#include <string>
#include <boost/filesystem.hpp>
#pragma comment(lib,"ws2_32.lib")
std::string GetLocalIpAndSave(void)
{
	WSADATA wsaData;
	char name[155];
	std::string strIp;
	PHOSTENT hostinfo;
	if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) {
		if( gethostname ( name, sizeof(name)) == 0) {     //获取机器名
			if((hostinfo = gethostbyname(name)) != NULL) { //这些就是获得IP的函数
				strIp = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); //获取本机ip
			}
		}
		WSACleanup( );
	}
	CHAR path[MAX_PATH] = {0};
	GetModuleFileNameA(NULL, path, MAX_PATH);
	boost::filesystem::path fpath(path);
	fpath = fpath.parent_path();
	fpath /= "serverip.txt";
	FILE* f = fopen(fpath.string().c_str(), "wb+");
	fwrite(PVOID(strIp.c_str()), strIp.size(), 1, f);
	fclose(f);
	return strIp;//返回本机ip
}

时间: 2024-11-07 04:32:38

vc获取本地IP和机器名的相关文章

Linux下编程获取本地IP地址的常见方法

转载于:http://blog.csdn.net/k346k346/article/details/48231933 在进行linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之需. 获取本机IP地址,是一个相当灵活的操作,原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的.比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡.用户计算机所在网络拓扑结构未知,主机名设置是一个可选项,并且同样可以为一

MFC的IP控件的使用,获取本地IP显示到控件

当写局域网编程时候,往往需要用到IP控件. 请原谅我还在用VC6.0 拖到对话框就能用了! ....................分割线...................... 获取本地IP显示IP控件 (1)获取本地计算机名 int GetLocalHostName(CString &sHostName) //获得本地计算机名称 { char szHostName[256]; int nRetCode; nRetCode=gethostname(szHostName,sizeof(szH

获取本地IP和mac等信息

1获取mac protected string getHostMacName() { string mac = ""; ManagementClass mc; mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { i

LINUX - 获取本地ip

Linux编程获取本机IP地址的几种方法 参考:https://blog.csdn.net/zhongmushu/article/details/89944990 在进行Linux网络编程时,经常会需要获取本机IP地址,除了常规的读取配置文件外,本文罗列几种个人所知的编程常用方法,仅供参考,如有错误请指出. 方法一:使用ioctl()获取本地IP地址 Linux下可以使用ioctl()函数以及结构体 struct ifreq和结构体struct ifconf来获取网络接口的各种信息.具体过程是先

Linux编程获取本地IP

1 #include <stdio.h> 2 #include <sys/types.h> 3 #include <ifaddrs.h> 4 #include <netinet/in.h> 5 #include <string.h> 6 #include <stdlib.h> 7 #include <arpa/inet.h> 8 9 10 //获取本地IP地址 11 char *getIP() 12 { 13 int so

用ip代替机器名访问sharepoint 站点

1. aam 里加入一个ip的internet 2. iis里不用加上ip,但不要有host name   出现的问题: 1. 当打开站点里会出现这个错误 file not found 2. 当加授予用户权限时,用户加不上去: Sorry, we're having trouble reaching the server 用ip代替机器名访问sharepoint 站点,布布扣,bubuko.com

Android应用开发提高篇(1)-----获取本地IP

链接地址:http://www.cnblogs.com/lknlfy/archive/2012/02/21/2361802.html 一.概述 习惯了Linux下的网络编程,在还没用智能机之前就一直想知道怎么得到手机的IP地址(玩智能机之前我是不搞手机应用的).好了,得知Android是基于Linux内核的,那么不就可以利用之前学的Linux下的网络编程方法来获取IP了吗?呵呵,其实这是比较底层的方法,在Android上,完全可以利用Java的API来实现,而且实现的代码非常简单.下面的实现只可

Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip

获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <netdb.h> #include <net/if.h> #inc

关于java获取本地ip的几种方法

关于java获取本地ip的几种方法1.获取本地ip的方法 System.out.println(InetAddress.getLocalHost().getHostAddress()); 2.域名解析ip的方法 System.out.println(InetAddress.getByName("www.sina.com.cn")); 3.获取本地出口ip的方法(局域网NAT或本地找交换机出口ip的方法) 建立通讯TCP,telnet,mina通讯等. Socket client = n