StringArray letzter Eintrag löschen



  • Hallo
    Ich habe mein Problem bei einem Stringarray.
    Folendes:
    Ich habe ein Stringarray, welches von der grösse her varrieren kann.

    CStringArray o_sUserNames                  //Erstellen des StringArrays
    o_sUserNames.Add(sGefundenePersNummer);    //Zufügen diverser Einträge
    nArrayGroesse = o_sUserNames.GetSize();    //Grösse bestimmen
    o_sUserNames.RemoveAt(nArrayGroesse);      //Lwtzter Eintrag löschen
    

    Soweit so gut. Im Array befinden sich mehrere Einträge. Nun möchte ich einfach den letzten wieder löschen. Ich habe das versucht. Die MSDN hat mir nicht sonderlich geholfen... Ich weiss nicht, warum mein code nicht funktioniert...
    Habe ich etwas übersehen?? 🙂
    Ich Programmiere mit VS 6 unter MFC
    Danke für die Hilfe!
    MFG



  • So ein Array fängt doch bestimmt bei 0 an zu zählen, oder ?



  • würde ich jez auch meinen...Ja.
    das spielt jedoch nicht so eine Rolle hier...Es muss ja lediglich den letzten Eintrag gelöscht werden.



  • Skipper schrieb:

    das spielt jedoch nicht so eine Rolle hier...Es muss ja lediglich den letzten Eintrag gelöscht werden.

    Aber wenn man bei 0 zu zählen anfängt, hat der letzte Eintrag nicht den Index nArrayGroesse, sondern nArrayGroesse - 1.



  • In C beginnt der Array-Index mit 0 - damit hat das letzte Element den Index Größe-1. Also solltest du auch dieses Element löschen:

    o_sUserNames.RemoveAt(nArrayGroesse/*->*/-1);
    


  • Herzlichen Dank!!
    Ich werde es gleich ausprobieren.
    Gruss Skipper


Log in to reply