Unsigned Char-Array in AnsiString konvertieren



  • Moin, wie kann ich ein Unsigned Char -Arry in eine AnsiString-Variable konvertieren?



  • AnsiString ist eine Klasse von (afaik) Borland C**++**, also bist du wohl falsch abgebogen 😉

    Ich würde es auf jeden Fall so versuchen:

    unsigned char* text = "Hallo Welt!";
    AnsiString str = text;
    


  • Mein Array ist ein Teil von einem 'struct' und hat 256 Elemente.
    char struct.balabla[256];
    in jedem Element ist logischerweise ein Ascii-Zeichen. Leider bekomme ich von dem System was ich hier habe nicht anders die Daten. Wie kann ich dieses in einen String konvertieren?
    Danke für die schnelle Antwort, doch leider ging das nicht.



  • AnsiString sollte einen Zuweisungs-Operator haben, der auch blanke char-Arrays schluckt (wenn nicht, frag nochmal im Builder-Forum nach (3. von oben)). Da mußt du dann vermutlich nur darauf achten, daß dein Array Nullterminiert ist (= letztes Zeichen ist '\0'), dann kannst du es mit einer einfachen Zuweisung an AnsiString weitergeben.

    (mit etwas Glück gibt es auch eine Methode assign() (oder so ähnlich), der du zusätzlich die Länge des Arrays übergeben kannst)



  • good to have fun schrieb:

    Mein Array ist ein Teil von einem 'struct' und hat 256 Elemente.
    char struct.balabla[256];
    in jedem Element ist logischerweise ein Ascii-Zeichen. Leider bekomme ich von dem System was ich hier habe nicht anders die Daten. Wie kann ich dieses in einen String konvertieren?

    Du musst dafür sorgen, dass dein unsigned char string "Null-terminiert" ist und dann evtl. noch casten.



  • Das Problem scheint sich hier wohl erledigt zu haben.


Log in to reply