C++: Auszug string nach Punkt
Ich versuche, zu extrahieren Sie die Datei-Erweiterung-Teil in einen string-Wert.
Beispielsweise vorausgesetzt, dass der string-Wert ist "file.cpp" brauche ich das extrahieren der "cpp" oder ".cpp" Teil.
Habe ich versucht, mit Hilfe von strtok (), aber es nicht zurück was ich Suche.
- verwenden
std::string
undstring.find(".")
: cplusplus.com/reference/string/string/find - Eigentlich
rfind
besser ist, wie will er die Datei-Endung, die Häufig stattfinden, beginnen in der letzten'.'
nach dem letzten Verzeichnis-Trennzeichen... - mögliche Duplikate von Wie man die Dateiendung aus string, die in C++
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
find_last_of
undsubstr
für diese Aufgabe:Dies sollte Ihnen
cpp
als Antwort.Dies funktionieren wird, aber Sie müssen sicher sein, geben Sie eine gültige Zeichenfolge mit einem Punkt drin.
Den
string::find
Methode wird die Rückgabe des ersten Auftretens eines Zeichens im string, in der Erwägung, dass Sie wollen, dass die letzten vorkommen.Sind Sie eher nach der
string::find_last_of
Methode:siehe: http://www.cplusplus.com/reference/string/string/find_last_of/
Hier ist eine einfache Umsetzung in C:
Können Sie verwenden Sie diese als Ausgangspunkt.