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