获取本地计算机名和IP地址
WSADATA wsadata; if(0 != WSAStartup(MAKEWORD(2, 2), &wsadata)) { AfxMessageBox("初始化网络环境失败!"); return TRUE; }
char szHostName[MAX_PATH + 1]; gethostname(szHostName, MAX_PATH); hostent *p = gethostbyname(szHostName); if(p == NULL) { AfxMessageBox("得到本机网络信息失败!"); return TRUE; } m_strName = szHostName; int nCount = 0; char *pIP = inet_ntoa(*(in_addr *)p->h_addr_list[0]); m_strAddr = pIP;
#include <winsock2.h> #include <iphlpapi.h> #include <stdio.h> #pragma comment(lib,"Iphlpapi.lib") int main() { // 初始化winsock PIP_ADAPTER_INFO pAdapterInfo; PIP_ADAPTER_INFO pAdapter = NULL; ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO); pAdapterInfo = (PIP_ADAPTER_INFO)malloc(ulOutBufLen); DWORD dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen); // 第一次调用GetAdapterInfo获取ulOutBufLen大小 if (dwRetVal == ERROR_BUFFER_OVERFLOW) { free(pAdapterInfo); pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen); dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen); } if (dwRetVal == NO_ERROR) { pAdapter = pAdapterInfo; while (pAdapter) { printf("Adapter Name: \t%s\n", pAdapter->AdapterName); printf("Adapter Desc: \t%s\n", pAdapter->Description); printf("MAC Addr: \t%02x-%02x-%02x-%02x-%02x-%02x\n", pAdapter->Address[0], pAdapter->Address[1], pAdapter->Address[2], pAdapter->Address[3], pAdapter->Address[4], pAdapter->Address[5]); printf("IP Address: \t%s\n", pAdapter->IpAddressList.IpAddress.String); printf("IP Mask: \t%s\n", pAdapter->IpAddressList.IpMask.String); printf("Gateway: \t%s\n", pAdapter->GatewayList.IpAddress.String); pAdapter = pAdapter->Next; }// end while } else { printf("Call to GetAdaptersInfo failed.\n"); } ...卸载winsock ... return 0; } //end main
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现