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 mit

    for (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.


Anmelden zum Antworten