char[] beschneiden
-
Hi,
ich habe einen unsigned char temp[99] , in dem ein Pfad wie zb %blabla\bla\blabla\juhu.exe steht.
Ich möchte jetzt alles vor dem letzten \ abschneiden, so dass im char nur noch juhu.exe steht.Wie kann ich das machen?
gruß
Alex
-
abschneiden geht nicht
-
Ohne zu testen und ohne jegliche Überprüfungen auf fehlerhaften Input (z.B. wenn nur ein Pfad übergeben wurde):
std::string extractFileName(const std::string& fullPath) { return fullPath.substr(fullPath.find_last_of('\\') + 1, std::string::npos); }
-
Vielen Dank
-
Hi,
und um der nächsten Frage schonmal vorzugreifen: An einen "char const*" kommt man mittels .c_str().
Das braucht man z.B. für das Öffnen von Files....Gruß,
Simon2.
P.S.: Aber eben "const" - d.h.: Verändern nur über den string selbst.
-
Und wenn man eine abneigung gegenüber C++ hat kann man auch folgendes machen:
unsigned char temp[99] = "%blabla\bla\blabla\juhu.exe"; unsigned char* pos = strrchr('\\'); strcpy(temp, pos);