• hallo leute,

    folgendes problem:
    ich hab ein array in dem folgendes steht:
    token[1]="fehler"
    token[2]="warning"
    token[3]="string"
    innerhalb einer for-schleife les ich das array aus:
    for (int i = 0; i < 3; i++)
    jetzt will ich innerhalb dieser for-schleife eine string verkettung machen.
    und zwar den eintrag des token[] mit einem char=" in "
    das ganze mach ich mit strcat.
    leider funktioniert das nicht richtig.
    das ganze schaut in echt so aus:
    for(x = 0; x < tokencount; x++) {
    compare = strcat(token[x], seperator);
    printf("%s\n", token[x]);
    }
    ausgabe dazu:
    Fehler in
    in in
    in
    anstatt:
    Fehler in
    Warning in
    String in

    bei strcat(x, y) wird der y immer zum x dazugehängt und in x gespeichert oder?
    hab probiert das x zurücksetzen - nichts funktionier.
    ich möchte nur das er mir
    "Fehler in" und
    "Warning in" und
    "String in" richtig zusammenfügt und in eine variable speichert.

    kann mir dabie wer helfen?

    vielen dank schon mal
    andrea

  • deine version fängt ein misslungenes realloc() nicht ab... Das könnte zwar unter UNIX recht brauchbar sein, nicht allerdings in anderen Systemen, die zB keine virtuellen Adressräume besitzen.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • ...ersteres hab ich ja gemeint mit "stimmt nicht 100%ig" ;)
    welche Systeme das sein könnten, für die das nicht brauchbar ist, weiß ich allerdings nicht... embedded wird man Strings sowieso net großartig manipulieren...

    @denjenigen, der den Ausschnitt als "pfusch" qualifiziert: bitte Verbesserungsvorschläge; ich bin durchaus offen für Kritik. Vor allem will ich natürlich auch wissen, was eine bessere Möglichkeit wäre.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • Äh is dein Token[i] auch groß genug, um auch das Seperator Zeichen aufzunehmen?

    denn..
    *char *strcat(dst, src) - concatenate (append) one string to another
    * Concatenates src onto the end of dest. Assumes enough
    * space in dest.

    Vielleicht überschreibt deine Version irgendwo den Speicher.

    :thumb: Geschrieben nach der alten, neuen und zukünftigen Rechtschreibung! :thumb:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!