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
No answers yet.
Inicia sesión para dejar una respuesta