Conversion d'une chaîne de caractères en minuscules

C++:
Conversion d'une chaîne de caractères en minuscules

How to (Comment faire) :

En C++, vous pouvez transformer une chaîne en minuscules en utilisant la bibliothèque standard :

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

std::string toLowerCase(const std::string& input) {
    std::string output = input;
    std::transform(output.begin(), output.end(), output.begin(), 
                   [](unsigned char c){ return std::tolower(c); });
    return output;
}

int main() {
    std::string text = "Bonjour, PROGRAMMEUR!";
    std::string lowerCaseText = toLowerCase(text);
    
    std::cout << lowerCaseText << std::endl; // "bonjour, programmeur!"
    return 0;
}

Deep Dive (Plongée en profondeur) :

Historiquement, on pouvait transformer les majuscules en minuscules à la main, en parcourant une chaîne et en utilisant la table ASCII pour ajuster les valeurs des lettres majuscules. Aujourd’hui, on utilise std::tolower, qui est plus robuste et gère les caractères non-ASCII. Attention, cette fonction nécessite le paramètre de type unsigned char pour éviter des comportements inattendus avec char signé.

Il existe d’autres méthodes, telles que boost::algorithm::to_lower de la bibliothèque Boost, qui peut offrir plus de fonctionnalités.

En interne, std::tolower travaille avec la localisation courante, ce qui permet de gérer les cas spécifiques de certaines langues en termes de casse.

See Also (Voir également) :