Strings verbinden
-
Hallo,
ich habe vor kurzem angefangen, C zu programmieren. Vorher habe ich ein bisschen mit Visual Basic 2010 experimentiert.
Nun zu meiner Frage:
In Visual Basic 2010 kann man ganz einfach Strings verbinden:string_a &= string_b
Dabei wird string_b hinten an string_a angefügt.
Gibt es soetwas auch bei C?
Danke schonmal im Vorraus.
-
Es gibt die Funktion strcat.
*Edit
Mit kurzem Beispiel:#include <string.h> int main() { char s[20] = "Hello"; char t[] = " World"; strcat( s, t ); // Haenge t an s an printf("%s\n", s); }
-
Strings gibt es in C nicht als eigenen Datentyp, sie werden mittels char-Arrays und abschließendem '\0'-char abgebildet.
Du bist selbst für "genügend" definierten Speicher zuständig, für den Gesamtstring müssen immer mind. strlen(stringa)+strlen(stringb)+1 Bytes zur Verfügung stehen.
Standardfunktionen mit "str" im Namen berücksichtigen das o.g. Stringmodell.char a[10]; ... strcpy(a,"012"); /* Erstbefüllung */ strcat(a,"345"); /* Anhängen, OK */ strcat(a,"6789"); /* Anhängen, undefiniert weil das abschließende '\0' in undefinierten Speicher geschrieben wird */
-
Danke für die Antworten, werde es morgen mal testen.
-
Danke funktioniert!!
-
Vielleicht noch nicht jedem bekannt:
Das praktische Online-Tool kann so triviale Codeschnipsel ganz fix und simpel online übersetzen und man kann somit die grundsätzliche Funktionalität des Programms überprüfen.
Erspart womöglich bei derartigen Zweizeilern mal das Hochfahren einer Entwicklungsumgebung oder ähnliches