CStrings und unsigned char



  • Hallo Zusammen,
    ich habe kein _UNICODE symbol definiert und folgendes Problemchen.
    Eine Editfeld (mit einem CString dahinter) wird ausgelesen und der String wird mit verschiedenen Funktionen bearbeitet.
    Hierbei handelt es sich z.B. um ein vom user angegebenes Kommando (z.b. 0x40 - ASCII)

    typedef BYTE ByteBuffer[MAX_BYTES_BUFFER_SIZE];
    typedef ByteBuffer *PByteBuffer;
    

    Wenn ich mit CStrings oder std::string arbeite, werden die einzelnen Zeichen in meinem Fall, wenn mich nicht alles, täuscht als 8Bit Chars abgespeichert.

    Egal was ich mit den CStrings, die ja aus einzelnen 8 bit chars bestehen, anstelle, ich bekomme nach meinem Ansatz logischerweise nur das erste Zeichen (was ja bereits ein byte darstellt) in das BYTE hinein.

    Gibt es eine Möglichkeit, den gesamten String so zu verarbeiten, dass z.b. 0x40-ASCII direkt in ein Byte geschrieben wird?

    Gruss,
    TtT

    P.S.: Vielleicht, das ganze gleich in ein array von bytes schreiben? Es müssen eine vorerst unbestimmte anzahl von kommandos verarbeitet werden und ein teil der verarbeitung geht vorerst mal flöten.


  • Mod

    Ich weißt nicht was Du für ein Verständnis von char und BYTE hast.
    Wenn es um das Zeichen 0x40 geht verhalten sich beide komplett identisch.
    In 98% aller Fälle kannst Du einen BYTE Array behandeln wie einen char Array. Nicht mal in der Arithmetik unterscheidet sich hier viel.

    Einzig beim vergliech gibt es eben Unterschiede, die gravierend sein können!

    Was macht Dich glauben, dass die unsigned chart wirklich brauchst.



  • Martin Richter schrieb:

    Ich weißt nicht was Du für ein Verständnis von char und BYTE hast.
    Wenn es um das Zeichen 0x40 geht verhalten sich beide komplett identisch.
    In 98% aller Fälle kannst Du einen BYTE Array behandeln wie einen char Array. Nicht mal in der Arithmetik unterscheidet sich hier viel.

    Einzig beim vergliech gibt es eben Unterschiede, die gravierend sein können!

    Was macht Dich glauben, dass die unsigned chart wirklich brauchst.

    Edit:
    ich hatte einfach ne blockade 🙂
    atoi überladen für std::string (ich arbeite im hintergrund mit std::string) und dem byte das ergebnis zuweisen

    Sorry für den nicht gerade informativen Thread 🙄 😮

    Gruss,
    TtT


Anmelden zum Antworten