# Hinzufügen von Zeichen in char



## Mr_Wichtig (27. Oktober 2004)

Hallo,
ich will für ein Programm ein vorhandes char erweitern:
...
char zeile="name";

und danach möchte ich, dass hinter dem "name" noch eine 1 hinzugefügt wird, so dass am ende steht

char zeile="name1";

mit welchen operationen kann man das realisieren?


----------



## BigJul (27. Oktober 2004)

glaub der befehl war strcat .. falls nich kannst du das ma eingeben und f1 drücken (sofern du vc++ benutzt) da findest du dann mit sicherheit string routinen.

oder falls du mehr ein selber macher typ bist:

char *szString="Test";
int nEndeVomString=strlen(szString);
szString[nEndeVomString]="1";
szString[nEndeVomString+1]="\0"; // weil is ja zero terminated .. sonst kriegste womöglich später probleme

naja müsste so oder so ähnlich funktionieren ...

ps: ich würde dir empfehlen dir mal in dein prog #include <string> reinzuschreiben und den typen "string" zu benutzen .. wenn du danach googlen willst dann gib noch STL (Standart Template Libraries) and


----------



## BrainDamage (27. Oktober 2004)

strcat(zeile,"1");

tut das was du willst


----------



## MFC openGL (27. Oktober 2004)

Und falls du Strings benutzt

String name = "name";
name+= "1";


----------



## canuzzi (27. Oktober 2004)

BigJul hat gesagt.:
			
		

> char *szString="Test";
> int nEndeVomString=strlen(szString);
> szString[nEndeVomString]="1";
> szString[nEndeVomString+1]="\0";



So funktioniert das nicht, da szString nur einen Speicherbereich von 5 Zeichen reserviert: T,e,s,t,\0. Fuer ein weiteres Zeichen ist so kein platzt (das gilt auch fuer die strcat Variante. Um noch Zeichen anzuhaengen machst du zB:
char *szString[20];
strcat(szString,"Test");
\*weiterer Code *\

strcat(szString, "blablub")   oder szString[4]='1', szString[5]='\0';


----------



## Mr_Wichtig (27. Oktober 2004)

Vielen Dank für die Antworten.

Habe das "Problem" mit strcat gelöst.


----------

