CStringArray und CString
-
Hi Leute hab da mal ein Problem.....*g*
also habe ein CStringArray instanz und diese mit ein paar Strings gefüllt.
So jetzt möchte ich auf ein bestimmten String zugreifen also z.b. den 3habe folgendes versucht
eine CString instanz versuch den wert aus einer CStringArray zuzuweisen
CStringArray SA;
CString S1;
S1=SA[3].GetString();
wenn ich nun in S1 nachschau steht nur ein Speicherstellenadresse drin
den richtigen inahlt von s1 bekomme ich nur über S1.GetBuffer(); finde ich aber blöd.
dann habe ich noch versuch
S1=SA[3] da habe ich auch nur die Adresse drin
wie kann ich nun das realisieren....geht es überhaupt?....
Wie bekomme ich einen String wieder raus aus dem array um es in eine einzelne CString variable abzulegen?
-
Wie läßt du dir den Inhalt den anzeigen??? S1=SA[3] müßte eigentlich gehen.
Musst vieleicht bei deiner Ausgabe zu LPCTSTR casten.
-
Du weißt aber schon das CStringArray eine Klasse ist? Klassen haben nomalerweise Memberfunktionen. Steht alles in der MSDN. Ich frage mich wo die die Funktion GetSting() her hast.
Die gibt es in der CStringArray nicht.Was du suchst ist.
ElementAt(int index);
CString S1; S1=SA.ElementAt(3);
-
bei mir gibts die wenn ich den überladenen operator[] verwende hat man auch zugriff auf die GetString()
mit der ElementAt() hab ich auch schon versucht da habe ich schwirigkeiten mit der umwandlung gibt irgendwie ne referenz von cstring zurück müsste ich also theoretisch einfach einer cstring zuweisen können so wie du es geschrieben hast aber da meckert mein kompiler rum zwecks konvertierung dynamischer pointer und stastischen pointer
-
anzeigen kann ich es mir mit s1.getbuffer() da geht auch eigentlich die zuweisung habe auch beim debugen gesehen das der cstring den richtigen inhalt bekommt...ich hätte vielleicht erwähnen solln das ich es mir mit cout anzeigen lasse im programm
-
wie sieht es denn aus mit
CStringArray temp;
CString temp1;temp.Add("Test");
temp1=temp.GetAt(0);das sollte auch gehen...