Conversión de una cadena de texto a minúsculas

C++:
Conversión de una cadena de texto a minúsculas

Cómo hacerlo:

#include <iostream>
#include <string>
#include <algorithm>

int main() {
    std::string texto = "¡Hola Mundo!";
    std::transform(texto.begin(), texto.end(), texto.begin(), ::tolower);
    std::cout << texto << std::endl; // Imprime: "¡hola mundo!"
    return 0;
}

Inmersión Profunda

Históricamente, convertir cadenas de texto a minúsculas ha sido fundamental en la normalización de datos y búsquedas insensibles a mayúsculas/minúsculas. En C++, antes de C++11, se podía usar std::transform con ::tolower de <cctype>, pero cuidado con los locales! Hoy, <algorithm> y lambdas son opciones más seguras.

Alternativas incluyen usar for y manipular los caracteres directamente. Existen también otras bibliotecas como Boost que ofrecen soluciones más avanzadas.

En cuanto a implementación, std::transform aplica la función pasada (en este caso ::tolower) a cada elemento del rango dado. ::tolower, parte de cctype, convierte caracteres individuales, respetando la configuración regional (locale).

Ver También