Hinzufügen von Zeichen in char

Mr_Wichtig

Grünschnabel
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?
 
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
 
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';
 
Zurück