Stringbereich abschneiden
-
Hallo,
ich möchte von einem Dateipfad als string die laufwerksbezeichnung und das erste Unterordnerverzeichnis abschneiden. hab auch schon in den faq gesehen das man etwas von hinten abschneidet, aber von vorn. Kann mir jemand helfen?
drs = "c:\\Ordner1\\Ordner2\\Ordner3"; string::size_type pso = drs.rfind('\\'); if (pso == string::npos) pso=pso-8; else pso = 0; MessageBox(NULL, drs.substr(pso).c_str(), "String gefunden", MB_OK);
-
Hallo
std::size_t pos = drs.find("\\"); // Ersten Backslash finden std::size_t pos = drs.find("\\", pos +1); // Zweiten Backslash finden
bis bald
akari
-
ExtractFileDrive geht nicht? Ist zu einfach??
-
Hallo
wenn nicht nur das Laufwerk, sondern auch das erste Verzeichnis (und nur das erste) mit extrahiert werden sollen, reicht ExtractFileDir nicht aus.
bis bald
akari
-
ok, dann würde ich das hier nehmen und splitten
http://www.marquardtnet.info/cecke/quickies.1/1_quicky_01.html
dann ist "Ruhe" und man hat alle Teile und braucht dann nicht nach dem X-ten zu fahnden
-
Wäre es nicht besser, die Strings in deiner Split-Funktion als konstante Referenzen zu übergeben?
void split(TStringList *feld,const String& eingabe,const String& delimiter)
-
Joo, werden sie nun, Danke