Wie entferne ich korrekt Leerzeichen am Anfang und Ende eines std::string in C++?
Hallo zusammen! Ich bin ein C++-Anfänger und habe eine scheinbar einfache Aufgabe: Ich muss Leerzeichen (und allgemein alle Whitespace-Zeichen) am Anfang und Ende eines Strings entfernen. Ich arbeite mit std::string.
Ich habe versucht, meine eigene trim-Funktion mit Schleifen und Zeichenprüfung über std::isspace zu schreiben, aber der Code wurde umständlich und, wie ich finde, ineffizient. Hier ist, was ich bisher habe:
```cpp
#include
#include
#include
std::string trim(std::string str) {
// Entferne Leerzeichen am Anfang
while (!str.empty() && std::isspace(str[0])) {
str.erase(0, 1);
}
// Entferne Leerzeichen am Ende
while (!str.empty() && std::isspace(str[str.length() - 1])) {
str.erase(str.length() - 1, 1);
}
return str;
}
```