2 Chars * verketten



  • Ich verusche mich gerade etwas in c++ einzuarbeiten, mein erstes Problem ist folgendes ich habe:

    char * verzeichnis = "verzeichnis/" und
    char * datei = "datei"

    ich muss diese beiden chars verbinden um die Funktion ifstream open damit zu füttern, aber irgendwie bekomme ich das nicht wirklich hin.
    Kann mir da jemand weiterhelfen?

    mfg

    sildex



  • Hallo,

    du kannst die char-Arrays mit strncat aneinanderhängen, aber achte darauf, dass das Ziel-Array auch groß genug ist, um beide char-Arrays aufnehmen zu können.

    In Zukunft solltest du aber std::strings verwenden.

    MfG

    GPC



  • #include <cstring>
    ...
    strcat(str1,str2); //str2 wird bei str1 angehängt
    strcpy(str1,str2); //str2 wird in str1 kopiert
    strlen(str1); //Länge des str1 mit binärer Null (\0), bei ev. for Schleife die die Zeichen untersucht: i=0; i<strlen(str1); i++ weils ja nur strlen(..)-1 ist.

    Übrigens \ statt / verwenden. Und weil du \ in einem char-array (auch bei strings) nutzt, musst du zwei Schreben: \\
    Weil "a\n" = a
    b
    "a\\n" = a\n

    MfG
    __charlie__



  • thema erweitern:

    was wenn ein leerzeichen kommt?


Anmelden zum Antworten