[C] Char von einem String an anderen String anhängen

wolfszahn

Grünschnabel
Hi!
Nachdem ich schon den ganzen Vormittag nach einer pasenden Antwort bin, aber immer noch nicht fündig geworden bin, wende ich mich jetzt mal an euch. Wie der Titel schon verrät, würde ich gerne wissen, wie ich EINEN bestimmten Char aus einem String an einen anderen String anhängen kann.

Also nur so als Beispiel: Wenn ich text1 = abc und text2 = xyz habe, dann hätte ich gerne in einer anderen Stringvariable "output" den Wert "by"; also den Wert von text1[1] und text2[1]. Grundsätzlich wollte ich das so lösen:
Code:
char text1[50] = "abc";
char text2[50] = "xyz";
char output[50];

strcat(output,text1[1]);
strcat(output,text2[1]);
Kompilieren lässt sich der Code zwar, allerdings bekomme ich beim ausführen immer die Meldung "RUN FAILED". Wenn ich beim Befehl strcat das Array weglasse, funktioniert alles; allerdings wird dann natürlich der gesamte String kopiert. Das bringt mir aber nichts, da ich nur EINEN Char aus dem String haben will.

Kann mir bitte jemand einen Tipp zu meinem Problem geben?

Brauchen tu ich das Ganze für meine Informatikaufgabe. Zusätzlich möchte ich noch sagen, dass wir NUR die Bibliotheken stdio.h und string.h verwenden dürfen (ich möchte das anmerken, weil bei fast allen Anleitungen die stdlib.h (oder etwas anderes) eingebunden ist, wir dürfen aber wie gesagt nur die 2 vorhin genannten verwenden).

lg
 
strcat() funktioniert NUR mit strings, mit einzelnen chars nicht.

Jetzt vermute ich einmal du meinst, dass du ein bestimmtest Zeichen, das du gegeben hast, im string suchen musst und dann nach output kopierst oder?
Dann würde ich dir die Funktion strchr vorschlagen. Die gibt dir genau die Adresse zurück, an der das Zeichen im String auftritt. Dann kannst du es ja ganz einfach kopieren.

Lg
 
Hi und Willkommen bei tutorials.de,

noch einfacher ohne Funktion:
C++:
output[0] = text1[1];
output[1] = text2[1];
output[2] = '\0';

Gruß

PS: stdio.h und string.h sind keine Bibliotheken.
 
Zurück