1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

C: strcat

    • Frage
  • AndreaKall
  • 6. November 2003 um 17:16
  • Unerledigt
  • AndreaKall
    4
    AndreaKall
    Mitglied
    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
    9
    Marc_enaweg
    Mitglied
    Reaktionen
    1
    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 :winking_face:

    [Enaweg]

  • jeuneS2
    11
    jeuneS2
    Mitglied
    Reaktionen
    17
    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.

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

  • hal
    32
    hal
    Mitglied
    Reaktionen
    52
    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.

    [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!

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

    ...ersteres hab ich ja gemeint mit "stimmt nicht 100%ig" :winking_face:
    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.

  • Kongo
    6
    Kongo
    Mitglied
    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.

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

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung