Merkkijonon muuntaminen pieniksi kirjaimiksi

C++:
Merkkijonon muuntaminen pieniksi kirjaimiksi

How to: (Kuinka tehdä:)

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

int main() {
    std::string str = "Hei Maailma!";
    std::transform(str.begin(), str.end(), str.begin(), 
                   [](unsigned char c){ return std::tolower(c); });

    std::cout << str << std::endl; // tulostaa "hei maailma!"
    return 0;
}

Deep Dive (Syväsukellus)

C++ ei ole tyypillisesti tarjonnut suoraviivaista tapaa muuttaa koko merkkijonoa pieneksi kirjaimiksi. Aiemmin ohjelmoijat tekivät sen itse kirjain kirjaimelta. C++11-standaardin tultua käyttöön std::transform ja std::tolower yhdistelmästä tuli suosittu tapa. Vaihtoehtoisesti voit kirjoittaa oman funktion tai käyttää kolmannen osapuolen kirjastoja, kuten Boost. C++20 toi std::ranges, joka tarjoaa elegantimman tavan iteroida läpi merkkijonoja.

Ole tietoinen eri lokalisoinnin asetuksista käytettäessä std::tolower, koska se voi käyttäytyä eri tavoin eri alueellisten asetusten kanssa.

See Also (Katso Myös)

Tämä artikkeli antoi yleiskatsauksen merkkijonojen pienentämisestä C++:ssa. Rajattu, mutta hyödyllinen taito, joka parantaa tekstinkäsittelyä ohjelmissasi.