概述
使用gethostname()和gethostbyname()获取IP地址和计算机名,记录一下,省得老忘。
- int CNetTestDlg::GetLocalHostName( CString& sHostName ) // 获取机器名
- {
- char szHostName[256];
- int nRetCode;
- nRetCode = gethostname(szHostName, sizeof(szHostName));
- if (nRetCode != 0)
- {
- memcpy(szHostName, ("Not Available"), sizeof("Not Available"));
- return WSAGetLastError();
- }
- sHostName = szHostName;
- return 0;
- }
-
- int CNetTestDlg::GetIPAddress(const CString& sHostName, CString& sIPAddress) // 获取IP地址
- {
- struct hostent *lpHostEnt = gethostbyname(sHostName);
- if (lpHostEnt == NULL)
- {
- sIPAddress = "";
- return WSAGetLastError();
- }
- LPSTR lpAddr = lpHostEnt->h_addr;
- if (lpAddr)
- {
- struct in_addr inAddr;
- memmove(&inAddr, lpAddr, 4); // 将地址进行转换成常规形式
- sIPAddress = inet_ntoa(inAddr);
- if (sIPAddress.IsEmpty())
- {
- sIPAddress = "Not available";
- }
- }
- return 0;
- }
转载于:https://www.cnblogs.com/killer-xc/p/6609898.html
最后
以上就是诚心外套为你收集整理的C++:gethostname,gethostbyname获取IP地址和计算机名的全部内容,希望文章能够帮你解决C++:gethostname,gethostbyname获取IP地址和计算机名所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复