str löschen
-
hey guys.
ich bastel mir grad ned kleine adress datenbank in c++.
mit der function löschen will ich einen eintrag löschen und mit den nachstehenden aufrücken.1. Frage: wie kann ich einen string (char name[15]="irgendeinname";) leeren?
2. ich habe eine klasse 'personal[5]' und darin die variable 'char name[15];'. angenommen personal[0].name bis personal[4].name sind gefüllt mit zeichen. ich will personal[2].name löschen, und mit personal[3].name und personal[4].name aufrücken, dann sollte das doch mitfor (i=1; i<4; i++) { strcpy(personal[i].name, personal[i+1].name); } //und dann leeren des 5. strings.funktionieren.. tut es bei mir leider nicht. kann mir jemand sagen / erklären warum?
lg serprime
-
In C++ std::string oder eine andere Stringklasse verwenden.
-
Dein Code löscht personal[1] und nicht personal[2].
Wenn's das nicht ist, was funktioniert denn daran nicht?
Was heisst für Dich leeren?
z.B.personal[4].name[0] = '\0';"leert" den String.
-
so das ist der auszug aus dem prg:
for (i=2; i<j; i++); { personal[i].vname[0] = '\0'; personal[i].nname[0] = '\0'; strcpy (personal[i].vname, personal[i+1].vname); strcpy (personal[i].nname, personal[i+1].nname); } personal[j].vname[0] = "\0"; personal[j].nname[0] = "\0"; }der letzte eintrag wird 'gelöscht' die anderen bleiben gleich.
übrigens: ich habe eine 2. frage bezüglich felder von klassen. ich habe dazu einen neuen thread erstellen.