CString Funktion in std::string



  • Wie kann man folgende Funktion in ein normalen string einstzen:

    CString temp;
    temp.Format(_T(" %02X"), pAdInfo->Address[i]);
    


  • lautet deine frage wie du einen CString nach std::string convertierst ?
    das muesste der cast locker koennen

    CString temp;
    temp.Format(_T(" %02X"), pAdInfo->Address[i]);
    std::string temp1( (LPCTSTR)temp );
    


  • Am besten garnicht, da diese variablen Argumentlisten nicht typsicher und in C++ ziemlich verpönt sind. Denkbare Alternativen wären z.B. stringstreams oder boost::format...

    ostringstream fmt;
    fmt << " " << setbase(16) << setw(2) << setfill('0') << pAdInfo->Address[i];
    string temp = fmt.str();
    
    string temp = boost::format(" %02X") % pAdInfo->Address[i];
    

    EDIT:
    So kann man interpretieren. Was meinten denn der OP nun? 😕 😃



  • Hallo

    @Mr Evil : aber dann bitte kein cast (und auch noch ein alter C-style Cast), sondern die Member-Funktion von CString, die ein const char* zurückgibt. Also das Äquivalent zu std::string::c_str().

    bis bald
    akari



  • Nur zur Info - bei CString ist diese Memberfunktion ein Typumwandlungs-Operator 😉


Anmelden zum Antworten