C++:
Conversione di una stringa in minuscolo
How to:
Esempio: usando la funzione std::transform e ::tolower.
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
int main() {
std::string s = "Ciao Mondo!";
std::transform(s.begin(), s.end(), s.begin(),
[](unsigned char c){ return std::tolower(c); });
std::cout << s << std::endl;
return 0;
}Output:
ciao mondo!Deep Dive
La conversione delle stringhe in minuscolo risale ai primi giorni dell’informatica, quando i sistemi erano meno tolleranti alle varianti di maiuscole e minuscole. In C++, prima dell’introduzione della libreria standard, i programmatori spesso scrivevano le proprie funzioni per manipolare le stringhe.
Alternativamente, possiamo usare delle funzioni di una libreria esterna come Boost, che presenta funzioni come to_lower_copy per creare nuove stringhe in minuscolo, oppure la manipolazione diretta con cicli e funzioni tolower.
Dettaglio implementativo: std::tolower necessita di unsigned char come input per evitare comportamenti indefiniti con caratteri la cui rappresentazione supera il valore di CHAR_MAX.