Avatar ·

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