MacAdresse umwandeln (Kanonisches Format)



  • Moinsens,
    möchte gern meine MacAdresse ausgeben lassen und das im
    kanonischen Format. Ausgabe mit printf bzw kopieren mit
    sprintf geht wunderbar. Welcher Weg ist unter c++ geläufig??

    bool getMacAddress() {
    struct ifreq ifrMac;
    int iSocket;
    if((iSocket = socket(AF_INET, SOCK_DGRAM, 0)) == -1) return false;
    strcpy(ifrMac.ifr_name, "eth0");
    if(ioctl(iSocket, SIOCGIFHWADDR , &ifrMac) == -1) return false;
    memcpy(ucaLocalMacAddress, ifrMac.ifr_hwaddr.sa_data, sizeof(ucaLocalMacAddress));
    close(iSocket);
    std::ostringstream sstr_maccanonicalform;
    std::cout<<"\n";
    for (int i=0;i<6;i++) {
    printf ("%02x",ucaLocalMacAddress[i]); // c-technik und geht
    }
    std::cout<<"\n";
    for (int i=0;i<6;i++) {
    sstr_maccanonicalform <<?????????????? <<ucaLocalMacAddress[i] <<;
    }
    std::cout<< "\n"<< sstr_maccanonicalform<<"\n";
    return true;
    }
    

    Hat jemand ne Idee??



  • Ich verstehe jetzt nicht ganz, was du meinst. Wo ist das Problem? - Mangelt es einfach an der C++-Umsetzung, oder wie?

    Also wenn du Formatierungsmöglichkeiten suchst, dann gibts da in C++ die Manipulatoren:
    http://www.cplusplus.com/reference/iostream/manipulators/

    Im übrigen solltest du vlt. doch ein C++ Tutorial lesen, da gewisse Sachen in C++ nicht mehr nötig sind. Z.B das struct vor Strukturdefinitionen.

    Und einrücken solltest du deinen Code auch. Das kann man so kaum lesen. 😉



  • ich glaube er sollte sich erstmal eine formatierungsmöglichkeit für seinen code einfallen lassen

    das ist ja schrecklich (zu lesen)


Anmelden zum Antworten