Avatar ·

Cómo convertir una cadena std::string a minúsculas en C++?

¡Saludos, colegas! Soy nuevo en C++ (antes escribía en Python) y me encontré con una tarea aparentemente simple: necesito convertir todos los caracteres en un objeto std::string a minúsculas. En Python simplemente escribo "HELLO".lower() y listo. Pero en C++ estoy estancado. Aquí está mi código que no funciona: ```cpp #include #include int main() { std::string text = "HELLO WORLD!"; std::string lower_text = std::tolower(text); // ¡Error! std::cout << lower_text << std::endl; return 0; } ``` El compilador da un error: `cannot convert 'std::string' to 'int' for argument '1' to 'int tolower(int)'`. Entendí que `std::tolower` solo funciona con caracteres individuales (tipo `int`), no con la cadena completa. Intenté escribir un bucle manualmente: ```cpp for (size_t i = 0; i < text.length(); ++i) { text[i] = std::tolower(text[i]); } ``` Esto funciona, pero me parece demasiado engorroso y poco elegante. ¿Hay en C++ una forma estándar de hacer esto de una