MAC Addr vergleichen / speichern



  • Hallo,

    In einem Buffer befindet sich eine MAC Adresse. Über diesen Buffer lege ich eine Struktur (die MAC Addr ist dabei mit

    volatile unsigned int Mac_Addr[6];
    

    definiert.

    Die eigene MAC Addr habe ich in einem Array gespeichert

    tatic unsigned char localMACAddr[6] = {0x00, 0x05, 0xD2, 0xFA, 0xB0, 0x01};
    

    Wie kann ich jetzt am besten / ohne viel Aufwand überprüfen ob diese beiden MAC Addr identisch sind? Gut bei einem Array bleibt mir nur die einzelnen Elemente zu vergleichen, oder? Gibt es da noch andere Möglichkeiten - z.b. die MAC Addr intelligenter abzuspeichern oder ähnlicheres?

    Eigentlich möchte ich beim Vergleich nur schreiben zu müssen

    if(localMACAddr == Mac_Addr) --> mach irgendwas
    

    Hat da jmd. vielleicht einen guten Tipp für mich?

    Bernhard



  • nimm den hier: http://www.cplusplus.com/reference/clibrary/cstring/memcmp.html
    🙂
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...
    ich liebe die tolle spamkontrolle...



  • zu memcmp:
    dazu sollten aber beide Datentypen identisch sein (unsigned char <-> unsigned int).



  • Hat da jmd. vielleicht einen guten Tipp für mich? (um == zu verwenden)

    Nein. Theoretisch geht das zwar mit Datentypen, für die gilt, dass sizeof(Typ)>=6, wenn man auch auf die ungenutzten Bytes achtet. Dafür musst du diesfalls auch darauf achten, dass du auf jeder Plattform auch einen Typ verwendest, der groß genug ist, womit letztlich ein größerer Aufwand verbunden wäre.

    Im Allgemeinen musst du dich daran gewöhnen, Vergleichsfunktionen statt == zu verwenden: was machst du denn mit Strings?


Anmelden zum Antworten