Macadresse als string

Shooter2k

Erfahrenes Mitglied
Hallo liebes Forum.
Ich möchte folgende printf-Ausgabe als String in einer funktion zurückgeben. Weis aber nicht wie, da ich noch nicht sehr viel mit c++ gemacht habe.

Code:
void GetMACaddress()
{
	unsigned char MACData[6];

	UUID uuid;
    UuidCreateSequential( &uuid );				

    for (int i=2; i<8; i++)	
	{
		MACData[i - 2] = uuid.Data4[i];
	}

	printf("%02X%02X%02X%02X%02X%02X", 
		MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);

}

Statt void GetMACaddress() müsste ich ja dann string GetMACaddress() schreiben oder?
habe: string mac = MACData[0].MACData[1].MACData[3].MACData[4]; return mac; versucht aber es geht leider nicht.

Kann mir jemand helfen statt die mac addy auszugeben als string zu speichern und zu returnen?

Vielen Dank
gruß
 
Hi.

In C++ würde ich einfach einen ostringstream verwenden:
C++:
string GetMACAddress() {
  ...
  std::ostringstream out;
  out << std::hex << std::setfill('0');
  for (int i = ...) {
    out << std::setw(2) << static_cast<unsigned int>(uuid.Data4[i]);
  }
  return out.str();
}
Gruß
 
Hi deepthroat,
vielen Dank für deine Antwort. Jetzt funktioniert es wunderbar. Kannst du mir vielleicht noch sagen wie ich aus der MAC wieder Großbuchstaben mache. Jetzt besteht die MAC nur aus kleinbuchstaben.

Dank dir sehr dafür
gruß
 
Zurück