Nur Dateinamen aus String^ extrahieren
-
Wie extrahiere ich nur den Dateinamen aus einem String^
Also aus
"C:\Testfolder\test.txt"
muss ich
"test.txt"
extrahierenWarscheinlich ist es total einfach nur kenn ich die Funktionen nicht
-
Entweder suchst du nach dem letzten Schrägstrich,
oder noch einfacher:using namespace System; using namespace System::Windows::Forms; using namespace System::IO; String ^ path = "C:\\Testfolder\\test.txt"; FileInfo ^ fi = gcnew FileInfo(path); MessageBox::Show(fi->Name);
-
NaNaNa... doch nicht so kompilziert... Dein Vorschlag ist viel zu zeitraubend...
Nimm einfachSystem::IO::Path::GetFileName(path);
-
Jochen Kalmbach schrieb:
NaNaNa... doch nicht so kompilziert... Dein Vorschlag ist viel zu zeitraubend...
Nimm einfachSystem::IO::Path::GetFileName(path);
Ok, du hast gewonnen.
Aber zumindest ich brauch i. d. R. nicht nur den Dateinamen, sondern dann irgendwo
auch wieder den zugehörigen Pfad. Dann ist das FileInfo Objekt schöner, weil gleich
alles mit drinnen ist :p
-
anonymus schrieb:
Aber zumindest ich brauch i. d. R. nicht nur den Dateinamen, sondern dann irgendwo
auch wieder den zugehörigen Pfad. Dann ist das FileInfo Objekt schöner, weil gleich
alles mit drinnen ist :pDas kommt immer darauf an, was Du machen willst... Deine Funktion prüft halt wirklich nach, ob die Datei/Pfad existiert! Was wiederum zu einer Exception führen kann.
Die Path-Klasse zerlegt dagegen nur den String in seine Bestandteile ohne eine Prüfung vorzunehmen.
Aus diesem Grunde ist die Path-Klasse auch sehr schnell, da kein Zugriff auf das Dateisystem/Netzwerk gemacht werden muss.
-
Ok ich habs, war bitter nötig
Vielen dank