1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

C: strcat

    • Frage
  • AndreaKall
  • 6. November 2003 um 17:16
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • AndreaKall
    Punkte
    145
    Beiträge
    18
    • 6. November 2003 um 17:16
    • #1

    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

  • Marc_enaweg
    Punkte
    771
    Beiträge
    147
    • 6. November 2003 um 17:38
    • #2

    hmm ... dein "token[0]" hat so keinen wert ... fang die wertzuweisung bei 0 an und es könnte funktionieren ...

    ... hoffe es hilft ;)

  • jeuneS2
    Punkte
    1.227
    Beiträge
    238
    • 6. November 2003 um 17:45
    • #3

    wow, entweder es is jemandem irrsinnig fad, oder er hat einen pick auf mich.

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 6. November 2003 um 22:02
    • #4

    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.

  • jeuneS2
    Punkte
    1.227
    Beiträge
    238
    • 6. November 2003 um 22:42
    • #5

    ...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.

  • Kongo
    Punkte
    295
    Beiträge
    44
    • 9. November 2003 um 20:23
    • #6

    Ä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.

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum