Problem mit CString und char
-
Hallo,
ich habe hier im Forum folgende Funktion zum "Isolieren des Pfad" gefunden:
int IsolatePath(LPCTSTR strFullPath) { #define TRENNER '\\' //char pfad [] = strFullPath; char *zeiger; if ((zeiger = strrchr (strFullPath, TRENNER)) == NULL) { return -1; } else *(zeiger + 1) = '\0'; return 0;
Die Funktion hat seither immer ihre Dienste super erledigt. Jetzt habe ich aber ein Problem wenn ich an die Funktion ein CString übergebe:
CString test; test = "c:\\test\\hallo.dat"; IsolatePath(test.GetBuffer());
Wenn ich jetzt mit "test" CString-Methoden wie Append oder AppendFormat anwenden will, passiert gar nichts (es wird nichts hinzugefügt)! Warum ist das so?
Danke für Eure Hilfe!!!
P.S: Natürlich kann ich die Funktion auch mit MFC CString nachbauen, mich würde aber interessieren wo der Fehler liegt, bzw. warum es mit der Funktion nicht geht....
-
Les dir mal die Dokumentation von GetBuffer durch.Bevor du nicht ReleaseBuffer aufgerufen hast solltest du keine CString-Methoden aufrufen.
MfG Spacelord