2 Strings addieren
-
Hallo und guten Abend !
Ich hab grad ein mini-Problem: Ich möchte zwei (bei uns sagt man) Strings kopieren.
Der eine sieht so aus:BYTE input1[200] = "abcdef";und da möchte ich jetzt z.B. "ghijk" drannhängen.
Mit input+="ghijk" wie z.B. in Java lässt sich da ja nix machen - wie könnte ich das sonst lösen ?
Danke gleichmal !
Bärlo
-
die string-klasse verwenden.
wenn das nicht geht: mit
sprintf("%s%s",string1,string2);u.u. auch mit "concat" oder wie das ding heisst.
-
-
BYTE abc[20]=""; BYTE cde[20]=""; cde = strcat( abc, "tralala" );gibt mir den Fehler:
'strcat' : Konvertierung von 'unsigned char [256]' in 'char *' nicht moeglichabc liebt mir aber als BYTE[20] vor....
-
ach, das war's ...

und bei meinem sprintf fehlt ja auch noch was...
na dann, gute nacht.
-
strcat könntest so verwenden:
strcat(abc,"tralala"); strcat(cde,abc);
-
Vorden schrieb:
strcat könntest so verwenden:
strcat(abc,"tralala"); strcat(cde,abc);Ich würde _immer_ strncat statt strcat verwenden.
Die Gründe sollten klar sein.
-
Bärlo schrieb:
BYTE abc[20]=""; BYTE cde[20]=""; cde = strcat( abc, "tralala" );gibt mir den Fehler:
'strcat' : Konvertierung von 'unsigned char [256]' in 'char *' nicht moeglichabc liebt mir aber als BYTE[20] vor....
der fehler ist, daß du strcat() falsch verwendest. strcat() hängt das zweite argument an das erste an und speichert das ergebnis im ersten argument. der rückgabewert ist immer identisch mit dem ersten string-zeiger und wird normalerweise einfach ignoriert.
so wäre es richtig:
BYTE abc[20]="abcdef"; strcat( abc, "tralala" ); // jetzt steht in abc der string "abcdeftralala" puts(abc);