partitionist
Erfahrenes Mitglied
Hallo Leute, ich habe folgenden Code zum Auslesen der MAC Adresse gefunden:
Ich möchte gerne das die Funktion GetMACaddress(void) als Rückgabewert ein String hat, also statt der static void ein string GetMACaddress(void). Die Funktion soll nur die MAC Adresse zurückgeben, doch wie sieht dann in der Funktion das zusammensetzen zu einem String aus, also mit der HEX Formatierung?
Code:
// Prints the MAC address stored in a 6 byte array to stdout
static void PrintMACaddress(unsigned char MACData[])
{
printf("MAC Address: %02X-%02X-%02X-%02X-%02X-%02X\n",
MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);
}
// Fetches the MAC address and prints it
static void GetMACaddress(void)
{
IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information for up to 16 NICs
DWORD dwBufLen = sizeof(AdapterInfo); // Save the memory size of buffer
DWORD dwStatus = GetAdaptersInfo( // Call GetAdapterInfo
AdapterInfo, // [out] buffer to receive data
&dwBufLen); // [in] size of receive data buffer
assert(dwStatus == ERROR_SUCCESS); // Verify return value is valid, no buffer overflow
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;// Contains pointer to current adapter info
do {
PrintMACaddress(pAdapterInfo->Address); // Print MAC address
pAdapterInfo = pAdapterInfo->Next; // Progress through linked list
}
while(pAdapterInfo); // Terminate if last adapter
}
Ich möchte gerne das die Funktion GetMACaddress(void) als Rückgabewert ein String hat, also statt der static void ein string GetMACaddress(void). Die Funktion soll nur die MAC Adresse zurückgeben, doch wie sieht dann in der Funktion das zusammensetzen zu einem String aus, also mit der HEX Formatierung?