使用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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复