String kürzen
-
Das ist sicher total einfach, aber ich krieg es einfach nicht hin:
Ich möchte von einem CString das letzte Zeichen entfernen.
Es handelt sich dabei um einen freigegebenen Ordner der mit dem $ hinten dran gesichert wurde.
CString Pfad = "InstallationsOrdner$";
Nun muss einfach dass $-Zeichen abgeschnitten werden, wobei der Name "InstallationsOrdner" variabel ist, dass heißt man weiß vorher nicht wie viele Zeichen der String beinhaltet.
-
CString classmember remove
-
Danke Unix-Tom,
bin auch auf die Funktion gestoßen, aber hab anstatt der '', "" genutzt und daher nach anderen Möglichkeiten gesucht.

Noch eine andere Frage, nun werden ja sämtliche ""-Zeichen aus dem String entfernt. Aber es gibt ja auch Pfade: "C:\\Programm\Ordner\\Pfad"
Wie mache ich das, wenn ich nur das letzte "$"-Zeichen entfernen möchte?

-
na wenn Du nur den letzten $ entfernen willst, schau doch noch, ob das letzte Zeichen ein $ ist und dann nimmst Du Dir nur den Teilstring bis zum vorletzten Zeichen
-
Hmm, guter Vorschlag @MuehBln!

Hab jetzt folgendes gemacht:
int AnzahlZeichen = NeuerPfad.GetLength(); // Die Länge ermitteln NeuerPfad.Delete(AnzahlZeichen-1, 1); // Das letzte Zeichen entfernenKlappt!

-
Original erstellt von Dressman1981:
**Hmm, guter Vorschlag @MuehBln!
Hab jetzt folgendes gemacht:
int AnzahlZeichen = NeuerPfad.GetLength(); // Die Länge ermitteln NeuerPfad.Delete(AnzahlZeichen-1, 1); // Das letzte Zeichen entfernenKlappt!
**Und warum nicht so
NeuerPfad.Delete(NeuerPfad.GetLength()-1, 1);Was ist aber wenn das letzte Zeichen keine $ ist.
Benutze dafür find bzw. reversefind.[ Dieser Beitrag wurde am 03.07.2003 um 20:27 Uhr von Unix-Tom editiert. ]
-
Ok Unix-Gott *g*

mach ich es doch einfach so:
if (NeuerPfad.GetAt(NeuerPfad.GetLength()-1) == '$') NeuerPfad.Delete(NeuerPfad.GetLength()-1, 1);
Da spar ich mir das find...
-
The nIndex parameter must be greater than or equal to 0 and less than the value returned by GetLength.
-
Hallo.
Warum machst Du es nicht einfach so:
pfad = pfad.Left(pfad.GetLength()-1)
In pfad sollte jetzt alles bis auf das letzte Zeichen stehen.
Es gibt halt viele Wege die nach Rom führen