AnsiString in Char Array kopieren.



  • Hallo, bin neu im C-Geschaäft un nutze den BCB-Compiler. Denke mal, dass ich dann hier wohl richtig bin. Wollte mal wiessen wie ich ein AnsiString mit 250 Zeichen in ein Char-Array mit [255] Elemneten kopieren kann? Logischerweise, jeder Buschstabe ein Element des Arrays? Kann ich dem einfach den AnsiString zuweisen oder muss ich etwas berücksichtigen? Bitte hintelasst mir ein kleines Quelltextbeispiel.



  • Wenn du wirklich mit char-Arrays ( char data[255]; ) hantierst, wird es nichts mit direktem Zuweisen. Da mußt du im Ernstfall jedes Zeichen einzeln übergeben (eventuell helfen auch strcpy() oder std::copy() weiter).

    Aber solange du es nicht unbedingt brauchst, solltest du überhaupt keine nackten char-Arrays verwenden.



  • Hallo

    wenn du wirklich ein autonomes Char-Array brauchst, must du mit C-Funktionen arbeiten

    char array[250];
    AnsiString test = "das ist ein test...";
    strncpy(array, test.c_str(), 250);
    

    Allerdings brauchst du in den meisten Fällen kein eigenes Array, zur Übergabe zum Beispiel an WinAPI-Funktionen reicht auch einfach AnsiString::c_str()

    bis bald
    akari


Anmelden zum Antworten