Zwei chars zusammen fügen wie?
-
hallo, wie mach ich aus: char str1[] = "bla" und char str2[] = "bla", ein char?
also char str2[] = "bla x bla" also das ' x ' dazwischen muss auch mit rein...fuer hilfe dank ich euch.
Gruß Tobi.
-
char str1[] = "bla"; char str2[] = "bla"; char buf[] = " x "; strcat(str1,buf); strcat(str1,str2);
-
Buffer Overflow lässt grüßen...
Abhilfe: Schreibe in die [] eine passende Größe für den Ergebnisstring (inkl. Nullterminierer).
Noch besser: Nimm std::strings, wir sind hier im C++-Forum.
-
alles klar danke funktioniert bestens

-
wie gesagt wenn du schon im c++ forum postest dann benutz lieber die Strings, die wurden ja nicht umsonst gemacht
str3 = str1 + "X" + str2;char str1[] = "bla";
char str2[] = "bla";
char buf[] = " x ";
strcat(str1,buf);
strcat(str1,str2);wenn dann aber str3[10] z.b.
und dann stcat auf str3 um nicht über den speicher hinaus zu schreiben
-
@T0bi:
Ich hoffe es funktioniert mit ner passenden Längenangabe
Der Witz ist nämlich, bei ner passenden Architektur funktioniert auch das Beispiel von Kuldren, wenn die drei Variablen hintereinander im Stack liegen. Dann ist genug zugesicherter Speicher da, aber Du überschreibst Dir str2 und buf. Und dass das gültig wage ich anzuzweifeln.@Stelfer:
Dann aber str3 bitte vorher mit 0 initialisieren oder mit strcpy anfangen
-
ja das is klar "ne"
