Array zu Array kopieren..
-
bekomm das nicht ganz auf die reihe:
char quelle[5]; char ziel[5]; cin >> quelle; memcpy(ziel, quelle, sizeof(quelle)); cout << ziel << endl;
die ausgabe sieht bisschen anders aus als die eingabe!
es werden weitere chars angefügt und ausgegeben!wo ist mein fehler? oder wisst ihr bessere möglichkeiten um char arryas zu kopieren?
-
brainwave81 schrieb:
wisst ihr bessere möglichkeiten um char arryas zu kopieren?
Ja - benutze string's. Etwa so:
#include <string> // ... std::string quelle; std::string ziel; cin >> quelle; ziel = quelle; cout << ziel << endl;
Nebenbei haben strings u.a. den Vorteil, ihre Länge dynamisch anzupassen.
Gruß
Werner
-
strings darf ich leider nicht benutzen, sonst würde ich sie nehmen!
-
brainwave81 schrieb:
strings darf ich leider nicht benutzen, sonst würde ich sie nehmen!
C++ mit verbundenen Augen und eine Hand auf dem Rücken gefesselt
Armer Kerl!
Dein Code ist im Prinzip korrekt. Du solltest vielleicht bei den Arrays etwas mehr als 5 Zeichen reservieren. So 80 bis 500 sollten es schon sein. Vielleicht hast Du einfach nur ein Array-Overflow.Gruß
Werner
-
Vielleicht hast Du einfach nur ein Array-Overflow.
genau das wars
-
brainwave81 schrieb:
bekomm das nicht ganz auf die reihe:
char quelle[5]; char ziel[5]; cin >> quelle; memcpy(ziel, quelle, sizeof(quelle)); cout << ziel << endl;
die ausgabe sieht bisschen anders aus als die eingabe!
es werden weitere chars angefügt und ausgegeben!wo ist mein fehler? oder wisst ihr bessere möglichkeiten um char arryas zu kopieren?
Du darfst nur 4 Zeichen eingeben, das letzte ist für das Nullbyte.
-
ja habe die ganze zeit ein 5 zeichen eingegeben...danke!
-
dieses memcpy wo zu dient es , und was für eine header datei muss ich einbinden
-
Für Strings ist übrigens die Funktion strcpy gedacht. memcpy ist eher was für allgemeine Speicherbereiche.