Buchstabensalat bei char Array
-
Hi, ich versuche ein char-Array zu verändern (zu verschlüsseln ). Ich zähle dabei zu jeden char 5 dazu, um somit seine Buchstaben zu verändern.
Wenn ich jetzt aber mit einer for-Schleife einen anderen char-Array den alten zuordne kommt ein Buchstabensalat herauschar alt[5] = "name"; char neu[5]; for(int i = 0; i <= 4; i++) { alt[i] += 5; neu[i] = alt[i]; } cout << neu; getch(); return 0; }
es sollte: sfrj
herauskommen.
Es kommt schon am Anfang vor, aber danach kommt lauter wirres Zeug
Bitte um Hilfe!Danke
-
EDIT: Problem gelöst
char alt[5] = "name"; char neu[5]; for(int i = 0; i < 4; i++) { alt[i] += 5; neu[i] = alt[i]; } neu[4] = '\0'; cout << neu;
-
char alt[5] = "name"; char neu[5] = {0}; // zu Beginn schon mit Werten belegen for(int i = 0; i < 4; i++) { alt[i] += 5; neu[i] = alt[i]; } cout << neu;
-
Ja, ja.. die liebe Null Terminierung. :p
btw:
Warum machst du das nicht einfach so:char alt[5] = "name"; char neu[5]; for(int i = 0; i < 4; i++) { neu[i] = alt[i]+5; } neu[4] = '\0'; cout << neu;
Ansonsten kannst du dir das neu/alt sparen und gleich einfach das Array manipulieren.