Como cortar espaços no início e fim de std::string em C++?
Olá a todos! Sou um desenvolvedor C++ iniciante, escrevendo um programa simples para processar entrada do usuário. Preciso remover espaços extras (incluindo tabulações e quebras de linha) no início e no fim da string. Por exemplo, a string " Hello, World! " deve se tornar "Hello, World!".
Eu sei que em C++ existe std::string, mas não consigo encontrar um método embutido para trim. Tentei escrever minha própria função usando loops, mas o código fica complicado e inconveniente.
Aqui está o que tentei fazer:
```cpp
std::string trim(std::string str) {
// Remover espaços no início
while (str[0] == ' ') {
str.erase(0, 1);
}
// Remover espaços no fim
while (str[str.size() - 1] == ' ') {
str.pop_back();
}
return str;
}
```
Mas isso funciona apenas para espaços comuns, não para tabulações, e parece ineficiente. Existe uma maneira padrão de fazer isso em C++? Talvez haja uma função em STL ou Boost? Indiquem como cortar a string corretamente para considerar