C++-ohjelmoinnin aloittaminen

Merkit


Pythonissa merkkejä käsitellään tavallisesti yhden merkin mittaisina merkkijonoina. C++:ssa yksittäisen merkin tietotyyppi on char.

Merkkien käsittely

char on kokonaislukutyyppi, joka tallentaa merkkikoodin. Merkin voi lukea ja muuntaa kokonaisluvuksi koodin tarkastelemista varten:

cout << "Syota jokin merkki: ";
char merkki = ' ';
cin >> merkki;
int koodiarvo = static_cast<int>(merkki);
cout << "Merkin " << merkki
     << " koodiarvo on " << koodiarvo << endl;

Koska merkeillä on numeerisia koodeja, niillä voidaan laskea ja vertailla. ASCII-yhteensopivissa ympäristöissä pienet kirjaimet ovat peräkkäisissä koodipaikoissa:

for (char kirjain = 'a'; kirjain <= 'z'; ++kirjain) {
    cout << kirjain;
}
cout << endl;

Ehto <= 'z' ottaa mukaan myös viimeisen kirjaimen z.

cctype-kirjasto

C++:n cctype-kirjasto sisältää hyödyllisiä merkkeihin liittyviä funktioita. Ota kirjasto käyttöön rivillä #include <cctype>.

#include <cctype>
#include <iostream>

using namespace std;

int main() {
    char merkki = 'A';
    cout << tolower(merkki) << endl;
}
  • islower(merkki) tarkistaa, onko merkki pieni kirjain.
  • isupper(merkki) tarkistaa, onko merkki iso kirjain.
  • isdigit(merkki) tarkistaa, onko merkki numero.
  • tolower(merkki) muuttaa ison kirjaimen vastaavaksi pieneksi kirjaimeksi.
  • toupper(merkki) muuttaa pienen kirjaimen vastaavaksi isoksi kirjaimeksi.

Nämä funktiot soveltuvat tavallisiin merkintarkistuksiin ja kirjainkoon muuttamiseen. C++-kirjastoreferensseistä löydät lisätietoa kaikista cctype-kirjaston funktioista.