CString to ByteArray konvertieren



  • Hallo,

    wie kann ich ein CString in ein ByteArray kopieren? Arbeite mit MFC, bin mir aber nicht sicher, ob diese beiden Typen nicht auch im normalen C++ vorkommen.

    CByteArray dataArray;
    CString str = "das ist ein string"; 
    
    UINT size = strlen((const char *)str);   //<- liefert die richtige größe
    
    dataArray.SetSize(size);	
    memcpy(dataArray.GetData(), &responseHdr, size);
    

    Gruß
    Johann



  • Johann König schrieb:

    Arbeite mit MFC, bin mir aber nicht sicher, ob diese beiden Typen nicht auch im normalen C++ vorkommen.

    Nein, tun sie nicht. Zumindest nicht in dieser Form. Grundsätzlich kannst du dir merken: Alle Klassen der C++ Standardbibliothek werden klein geschrieben, liegen im Namensraum std und beginnen nicht mit einem vorgestellten "C" (was für die MFC wiederum typisch ist, so wie ein "T" für die VCL beim C++ Builder).

    Zudem ist strlen in Kombination mit einem MFC CString mit Sicherheit ebenso wenig sinnvoll (und es gibt garantiert eine Methode des Strings das besser geeignet ist). Zu guter letzt mag memcpy vielleicht hier funktionieren, in der Regel sollte man dieses aber niemals mit Klassen verwenden.

    @Moderatoren: Bitte in das MFC-Unterforum verschieben.


Anmelden zum Antworten