c character classification
In deze zelfstudie worden C ++ karakter- en transformatiefuncties uitgelegd met voorbeelden. Enkele belangrijke functies die worden gedekt zijn isdigit, islower, isupper, isalpha enz .:
In onze vorige tutorial over “bibliotheekfuncties” hebben we de verschillende headers gezien die talloze functies bieden die op verschillende datatypes werken. De header is zo'n header die een set functies bevat die individuele karakters classificeren en manipuleren.
Bezoek hier om C ++ vanaf het begin te leren.
De functies die in de koptekst zijn gedeclareerd, nemen een enkel teken (int equivalent) als parameter en retourneren een geheel getal dat een Booleaanse waarde of een tekenwaarde kan zijn. Een waarde 0 (nul) geeft onwaar aan, terwijl een andere waarde dan 0 (niet-nul) waar aangeeft.
Deze functies van één teken kunnen in het programma worden gebruikt door de koptekst op te nemen. Deze functies worden veel gebruikt en geaccepteerd en zijn buitengewoon handig in C ++ - programmering voor het testen en transformeren of manipuleren van tekens.
In deze tutorial zullen we de verschillende karakterfuncties bespreken en zien hoe elk van deze functies in een programma kan worden gebruikt.
Wat je leert:
C ++ karakterfuncties
C ++ tekenfuncties zijn de functies die slechts één teken als parameter hebben (casted to int) en een resultaat retourneren. Dit kunnen classificatiefuncties zijn zoals isalpha, isalnum, isdigit, islower, isupper, etc. om er maar een paar te noemen en transformerende functies zoals toupper en tolower die een bepaald teken respectievelijk in hoofdletters of kleine letters omzetten.
In de koptekst hebben we twee soorten functies gedefinieerd, zoals hieronder vermeld.
(i) Karakterclassificatiefuncties
Karakterclassificatiefuncties worden gebruikt om te controleren of het enkele karakter dat als argument aan de functie wordt doorgegeven, tot een bepaalde categorie behoort.
We hebben de karakterclassificatiefuncties in de onderstaande koptekst in tabelvorm weergegeven:
Niet doen | Functienaam | Functie Doel |
---|---|---|
7 | is lager | Controleert of een bepaald teken kleine letters is |
1 | isalnum | Controleert of een bepaald teken alfanumeriek is |
twee | isalpha | Controleert of het teken alfabetisch is |
3 | isblank | Controleert of het teken leeg is |
4 | iscntrl | Controleert of het gegeven karakter een controleteken is |
5 | iscijfer | Controleert of het opgegeven teken een decimaal cijfer is |
6 | isgraph | Controleert of het gegeven teken een grafische weergave heeft |
8 | afdrukken | Controleert of het teken een afdrukbaar teken is |
9 | ispunct | Controleert of het teken een leesteken is |
10 | isruimte | Controleert of het teken een witruimte is |
elf | isboven | Controleert of het opgegeven teken een hoofdletter is |
12 | isxdigit | Controleert of het hexadecimale cijfer van het teken is |
(ii) Karaktertransformerende functies
Karaktertransformerende functies converteren tussen gevallen. De volgende functies zijn opgenomen in het bestand.
Niet doen | Functienaam | Functie doel |
---|---|---|
1 | verlagen | Zet hoofdletters om in kleine letters |
twee | toupper | Zet kleine letters om in hoofdletters |
Laten we elk van de karakterfuncties (classificatie en transformatie) in detail bekijken. We zullen ook een eenvoudig C ++ -programmeervoorbeeld presenteren voor elk van de functies.
Isalnum
Functieprototype: int isalnum (int c);
Parameter (s): c => Een teken dat moet worden gecontroleerd of het alfanumeriek is of niet
Winstwaarde:
niet-nul => c is alfanumeriek
0 => c is niet alfanumeriek
Omschrijving: Deze functie controleert of een bepaald teken c alfanumeriek is of niet. Alfanumeriek betekent dat een teken tussen A (a) -Z (z) of 0 tot 9 ligt.
In C ++ is deze functie locale-specifiek en is de definitie aanwezig in de header.
Voorbeeld:
Uitgang:
Isalpha
Functieprototype: int isalpha (int c);
Parameter (s): c-> Teken dat moet worden gecontroleerd of het alfabetisch is of niet.
Winstwaarde:
niet-nul => c is alfabetisch
0 => niet alfabetisch
Omschrijving: Deze functie controleert of een bepaald teken c een alfabetisch teken is, d.w.z. tussen kleine letters en hoofdletters. Net als isalnum hangt deze functie ook af van de landinstelling die we gebruiken.
Voorbeeld:
Uitgang:
Isblank
Functieprototype: int isblank (int c);
Parameter (s): c => Teken dat moet worden gecontroleerd.
Winstwaarde:
niet-nul => teken is leeg
0 => teken is niet leeg
Omschrijving: Deze functie controleert of het opgegeven teken een spatie is of niet. Leeg teken is een spatie die wordt gebruikt om woorden in een tekstregel te scheiden.
In C ++ bestaat de landspecifieke versie van de isblank-functie in.
Voorbeeld:
Uitgang:
Let op de laatste regel in de uitvoer die zegt 'is niet leeg'. Dit komt door de laatste positie van de tekenreeks die niet is geïnitialiseerd op een waarde, maar nog steeds een afdrukpositie heeft. Daarom is het geen blanco.
Iscntrl
Functieprototype: int iscntrl (int c);
Parameter (s): c => Teken dat moet worden gecontroleerd
Winstwaarde:
niet-nul => c is het controleteken
0 => c is geen controleteken
Omschrijving: Functie controleert of de gegeven parameter een controleteken is. Een controleteken is een teken dat niet op het display verschijnt of geen afdrukpositie inneemt.
Voorbeeld:
Uitgang:
Iscijfer
Functieprototype: int isdigit (int c)
Parameter (s): c => Een karakter gecast naar int waarvan de waarde moet worden gecontroleerd.
Winstwaarde: niet-nul => c is een decimaal cijfer
0 => c is geen cijfer
Omschrijving: Deze functie controleert of de opgegeven parameter een decimaal cijfer is of niet. Een teken is een decimaal cijfer als de waarde tussen 0 en 9 ligt.
Voorbeeld:
Uitgang:
Isgraph
Functieprototype: int isgraph (int c)
Parameter (s): c => Character casted int dat wordt gecontroleerd met de isgraph-functie
Winstwaarde:
niet-nul => c is een grafische weergave
0 => c is geen grafische weergave
Omschrijving: De functie controleert of het gegeven teken c een teken is met grafische weergave. Een teken dat kan worden afgedrukt, is een teken met grafische weergave.
Voorbeeld:
Uitgang:
Is lager
Functieprototype: int islower (int c)
Parameter (s): c => Teken dat moet worden gecontroleerd met de functie islower.
Winstwaarde:
non-zer0 => c is kleine letters
0 => c is geen kleine letter
Omschrijving: De functie islower controleert of het gegeven karakter c al dan niet kleine letters is.
Een kleine letter is het teken dat een van de volgende waarden heeft: a b c d e f g h I j k l m n o p q r s t u v w x y z.
Voorbeeld:
Uitgang:
Afdrukken
Functieprototype: int sprint (int c)
Parameter (s): c => Teken dat moet worden gecontroleerd met de isprint-functie.
Winstwaarde:
non-zer0 => c kan worden afgedrukt
0 => c kan niet worden afgedrukt
Omschrijving: Functie isprint controleert of het opgegeven teken kan worden afgedrukt. Een afdrukbaar teken is het teken dat een afdrukpositie op het scherm inneemt.
Voorbeeld:
Uitgang:
Ispunct
Functieprototype: int ispunct (int c)
Parameter (s): c => Teken dat moet worden gecontroleerd met de ispunct-functie.
Winstwaarde:
non-zer0 => c is een leesteken
0 => c is geen leesteken
Omschrijving: Deze functie controleert of het gegeven teken een leesteken is. Een teken dat een grafisch teken is (van isgraph) en geen alfanumeriek teken (van isalnum), wordt gezegd dat het een interpunctie-teken is.
Voorbeeld:
Uitgang:
Isspace
Functieprototype: int isspace (int c)
Parameter (s): c => Teken dat moet worden gecontroleerd met de isspace-functie.
Winstwaarde:
non-zer0 => c is een witruimte
0 => c is geen witruimte
Omschrijving: Deze functie controleert of het gegeven karakter een witruimte is. Voor de landinstelling 'C' zijn witruimtetekens een van de volgende.
Voorbeeld:
Uitgang:
Isupper
Functieprototype: int isupper (int c)
Parameter (s): c => Teken dat moet worden gecontroleerd met de functie isupper.
Winstwaarde:
non-zer0 => c is een hoofdletter
0 => c is geen hoofdletter
Omschrijving: De functie islower controleert of het gegeven teken c een hoofdletter is of niet.
Een hoofdletter is het teken met een van de volgende waarden: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
Voorbeeld:
Uitgang:
Isxdigit
Functieprototype: int isxdigit (int c)
Parameter (s): c => Teken dat moet worden gecontroleerd met de functie isxdigit.
Winstwaarde:
niet-nul => c is hexadecimaal
0 => c is geen hexadecimaal getal
Omschrijving: Deze functie controleert of het gegeven teken een hexadecimaal cijfer is. Geldige hexadecimale cijfers zijn 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Voorbeeld:
Uitgang:
verlagen
Functieprototype: int tolower (int c)
Parameter (s): c => Teken dat in kleine letters moet worden omgezet.
Winstwaarde:
geeft het lagere equivalent van c terug, anders ongewijzigd.
De retourwaarde is int en kan impliciet naar char worden gecast.
Omschrijving: Dit zet het gegeven karakter c om in zijn equivalent in kleine letters. Als de conversie niet mogelijk is voor een bepaald teken, wordt de ongewijzigde waarde (c) geretourneerd.
Voorbeeld:
Uitgang:
STH geconverteerd naar kleine letters: sth
toupper
Functieprototype: int toupper (int c)
Parameter (s): c => teken dat in hoofdletters moet worden omgezet
Winstwaarde:
geeft het bovenste equivalent van c terug, anders ongewijzigd.
verschil tussen agile en waterval testen
De retourwaarde is int en kan impliciet naar char worden gecast.
Omschrijving: Dit zet het gegeven karakter c om in zijn equivalent in hoofdletters. Als een conversie niet mogelijk is voor een bepaald teken, wordt de ongewijzigde waarde (c) geretourneerd.
Voorbeeld:
Uitgang:
tutorials omgezet naar kleine letters: TUTORIALS
Gevolgtrekking
Hiermee is onze tutorial over karakterfuncties in C ++ beëindigd.
In deze tutorial hebben we verschillende functies gezien die een enkel teken nodig hebben en deze vervolgens classificeren of converteren. In onze volgende tutorials zullen we string en hun functies en klassen met betrekking tot C ++ bespreken.
Ontdek hier The Simple C ++ Training Series.