程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 獲取MAC地址,獲取mac

獲取MAC地址,獲取mac

編輯:C++入門知識

獲取MAC地址,獲取mac


實例代碼:

#include <Windows.h>
#include <iphlpapi.h>
#include <list>
#include <string>
#pragma comment(lib, "Iphlpapi.lib")

std::list<std::string> GetMACs()
{
	std::list<std::string> lst;

	ULONG ulSize = 0;
	::GetAdaptersInfo(nullptr, &ulSize);
	
	if (ulSize == 0) return lst;

	PIP_ADAPTER_INFO pInfo = (PIP_ADAPTER_INFO)malloc(ulSize);
	if (::GetAdaptersInfo(pInfo, &ulSize) != ERROR_SUCCESS)
	{
		free(pInfo);
		return lst;
	}

	PIP_ADAPTER_INFO pNext = pInfo;
	while (pNext != nullptr)
	{
		std::string mac;
		char tmp[10];
		for (int i = 0; i < (int)pNext->AddressLength; i++)
		{
			sprintf_s(tmp, "%02X-", pNext->Address[i]);
			mac += tmp;
		}
		if (!mac.empty())
		{
			mac.pop_back();
			lst.emplace_back(std::move(mac));
		}
		pNext = pNext->Next;
	}

	free(pInfo);

	return lst;
}

int main()
{
	GetMACs();
    return 0;
}

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved