Göm menyn

Teckenhanteringsfunktioner

Inkludera <cctype>.

I standardbiblioteket finns enkla funktioner för teckenklassificering och teckenomvandling som har sitt ursprung i standardbiblioteket för C. Då det gäller alfabetiska tecken fungerar endast för a-z.

Observera, detta är ett litet urval av enkla teckenfunktioner, se CPP Reference för en mer komplett dokumentation av tecken- och C-strängsfunktioner i C++.

Teckenklassificering

Teckenklassificeringsfunktionerna kan appliceras på ett tecken (omvandlat till int) och returnerar sant (1) om tecknet tillhör kategori som funktionen avser, annars falskt (0).

isalnum(c)    returnerar sant om c är ett alfanumeriskt tecken.
isalpha(c) returnerar sant om c är ett alfabetiskt tecken
islower(c) returnerar sant om c är ett liten bokstav
isupper(c) returnerar sant om c är en stor bokstav
isdigit(c) returnerar sant om c är ett decimal siffra (0-9)
isxdigit(c) returnerar sant om c är en hexadecimal siffra (0-9, A-F)
iscntrl(c) returnerar sant om c är ett styrtecken (control character)
isgraph(c) returnerar sant om c är ett skrivbart tecken
isspace(c) returnerar sant om c är mellanrum, sidmatning, nyrad, vagnretur eller tab
isblank(c) returnerar sant om c är ett mellanrumstecken eller ett tab-tecken (ny i C++1)
isprint(c) returnerar sant om c är ett skrivbart tecken, inklusive mellanrumstecknet
ispunct(c) returnerar sant om c är ett skrivbart tecken som ej är mellanrum, bokstav eller siffra

Se även manualsidan för ctype(3c).

Teckenomvandling

Observera att funktionerna retunerar det omvandlade tecknet, argumentet påverkas inte.

tolower(c) om c är en stor bokstav konverteras den till motsvarande liten bokstav
toupper(c)    om c är en liten bokstav konverteras den till motsvarande stor bokstav

För att omvandla ett enskilt siffertecken c av typ char) till int subtraherar man tecknet '0' (c och '0' omvandlas implicit till int i uttrycket):

   int i = c - '0';

Se även


Sidansvarig: Tommy Olsson
Senast uppdaterad: 2012-08-13