Avatar ·

Cómo recortar espacios al inicio y final de std::string en C++?

¡Hola a todos! Soy un desarrollador principiante de C++, escribiendo un programa simple para procesar entrada de usuario. Necesito eliminar espacios extra (incluyendo tabulaciones y saltos de línea) al inicio y final de la cadena. Por ejemplo, la cadena " Hello, World! " debe convertirse en "Hello, World!". Sé que en C++ existe std::string, pero no puedo encontrar un método incorporado para recortar (trim). Intenté escribir mi propia función usando bucles, pero el código resulta voluminoso e incómodo. Esto es lo que intenté hacer: ```cpp std::string trim(std::string str) { // Eliminar espacios al inicio while (str[0] == ' ') { str.erase(0, 1); } // Eliminar espacios al final while (str[str.size() - 1] == ' ') { str.pop_back(); } return str; } ``` Pero esto solo funciona para espacios normales, no para tabulaciones, y parece ineficiente. ¿Hay una forma estándar de hacer esto en C++? ¿Quizás hay una función en STL o Boost? Indíquenme cómo recortar la cadena correctamente para tener en cuenta