Dateiname und Endung aus Pfad bekommen
-
hoi, ich habe in einem Buffer einen Pfad zu einer Exe und ich möchte nur den Dateinamen und die Endung erhalten, also sowas wie GetFileName für .NET.
Gibt es sowas auch in der WinApi? Danke.
-
Hat sich erledigt. Geht mit PathFindFileName
-
Das hätte es auch getan:
char buffer[MAX_PATH]; // ... std::string stringBuffer = buffer; stringBuffer = stringBuffer.substr(stringBuffer.find_last_of("\\") + 1);
-
String0r schrieb:
Das hätte es auch getan:
char buffer[MAX_PATH]; // ... std::string stringBuffer = buffer; stringBuffer = stringBuffer.substr(stringBuffer.find_last_of("\\") + 1);Nein! Denn ein Pfad könnte auch mit / getrennt sein.
Warum sollte man extra einen string erzeugen, Speicher allokieren wenn man direkt eine API Funktion hat, die auch noch das beherscht was Du übersehen hast?const TCHAR szPath[] = _T("MyFolder/MyFileName.txt"); PCTSTR pszFileName = ::PathFindFileName(szPath); PCTSTR pszFileExtension = ::PathFindExtension(szPath);
-
nicht jeder will wegen einer funktion eine zusätzliche dll laden
-
SHLWAPI.DLL wird früher oder später sowieso geladen.