Dateiname aus Pfad holen
-
Hi.
Wie kann ich aus einem String, in dem ein Dateiname mit Pfad gespeichert ist, nur den Dateinamen rauskopieren und in einen neuen String speichern?
Also ich hab z.B.:
String pfad = "C:\\Bla\\Blub.txt";und ich will eine zweite String-Variable haben, die so aussieht:
String ergebnis = "Blub.txt";Kann mir jemand auch bitte ein Quellcode-Beispiel geben? Ich kenn die ganzen Befehle nämlich nicht so genau...
-
wenn du die string methoden(in c++ gibts keine befehle) nicht kennst, sollteste nochmal von vorne anfagnen.
kleiner tipp:
nach dem letzten "\" kommt immer der dateiname
-
string::find_last_of("\");
string::substr(...);Devil
-
devil81 schrieb:
string::find_last_of("\");
string::substr(...);Devil
Danke, aber mein Compiler (Borland C++ Builder 1) gibt folgenden Fehler dabei aus: "'find_last_of' is not a member of 'System::AnsiString'."
Warscheinlich handelt es sich um zwei verschiedene String-Klassen. Gibt es für die Borland-Strings ähnliche Methoden?
-
Du bist (a) im C++-Forum (-> keine AnsiStrings) und (b) hat devil81 nix von AnsiStrings geschrieben, sondern von strings. Ich denke, du lässt dich besser verschieben.
-
Ok, dann sollte man meinen Thread wohl wirklich verschieben. Hab nicht gewusst, dass es so viele verschiedene String-Typen gibt.
-
Ich will dir mal helfen, ich bin ja nicht so. Das funktioniert bei NULL-terminierten Strings ganz einfach mit der Funktion strtok (einfach mal in der MSDN nachschauen)
#include <string.h> #include <stdio.h> int main() { char buffer[128], szFilename[128]; char szTrennzeichen[] = "\\"; char *token; sprintf(buffer, "C:\\Bla\\Blub.txt"); token = strtok(buffer, szTrennzeichen); while( token != NULL ) { strcpy(szFilename, token); token = strtok( NULL, szTrennzeichen); } puts(szFilename); return 0; }
Ausgabe ist dann:
Blub.txt
mfg