C standard library - ctype.h
Skočit na navigaci
Skočit na vyhledávání
Obsah
<ctype.h> | <limits.h> | <stdio.h> | <stdlib.h> | <math.h> | <string.h> | <time.h> |
---|---|---|---|---|---|---|
isalnum |
printf |
system |
V hlavičkovom súbore ctype.h header je definovaných niekoľko funkcií pre testovanie a mapovanie znakov.
Definované funkcie
Funkcie pre testovanie znakov
Všetky funkcie majú parameter celé číslo (int) a vracajú nenulovú hodnotu (true) aj vstupný parameter spĺňa test. V opačnom prípade sa vráti nula (false).
funkcia | popis |
---|---|
int isalnum(int c) | Funkcia overí či parameter c je alfanumerický znak |
int isalpha(int c) | Funkcia overí či parameter c je znak abecedy |
int isdigit(int c) | Funkcia overí či parameter c je desiatkové číslo (0...9) |
int isgraph(int c) | Funkcia overí či parameter c má grafickú reprezentáciu |
int islower(int c) | Funkcia overí či parameter c je malé písmeno abecedy |
int isprint(int c) | Funkcia overí či parameter c je tlačiteľný/viditeľný |
int ispunct(int c) | Funkcia overí či parameter c je špeciálny znak (definíciu znakov pozri nižšie) |
int isspace(int c) | Funkcia overí či parameter c je biely znak |
int isupper(int c) | Funkcia overí či parameter c je veľké písmeno abecedy |
int isxdigit(int c) | Funkcia overí či parameter c je hexadecimálne číslo (0...9,A/a, ... F/f) |
Funkcie pre konverziu znakov
funkcia | popis |
---|---|
int tolower(int c) | Skonvertuje znak (veľké písmeno) na malé písmeno |
int toupper(int c) | Skonvertuje znak (malé písmeno) na veľké písmeno |
Kategórie znakov
kategória | obsah |
---|---|
čísla | { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } |
16-ové čísla | { 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f }. |
malé písmená | { 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 } |
veľké písmená | {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 } |
písmená | malé a veľké písmená |
alfanumerické znaky | čísla, malé písmená, veľké písmená |
špeciálny znak | ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ |
znak s grafickou reprezentáciou | alfanumerické znaky a špeciálne znaky |
biely znak | tabulátor, nová riadok, vertikálny tabulátor, medzera, CR - návrat vozíku (carriage return), FF - form feed |
tlačiteľný znak | alfanumerický, špeciálny a biely znak |
riadiace znaky | v tabuľke ASCII sú to znaky s hodnotou od 0 po 31 a 177 (DEL) |
prázdne znaky | medzery a tabulátory |
Príklad použitia
#include <stdio.h>
#include <ctype.h>
/**
* Testuje znaky
* @param char a[] reťazec, ktorého znaky budeme počítať
*/
void identify_alpha_numeric(char a[])
{
// pocet alfanumerickych znakov, pocet cislic
int count_alpha = 0, count_digit = 0;
// prechadza sa cely retazec, pokial sa nenarazi an jeho koniec
for (int i = 0; a[i] != '\0'; i++) {
// test, ci je znak pismeno
if (isalpha(a[i]))
count_alpha++;
// test, ci je znak cislo
if (isdigit(a[i]))
count_digit++;
}
// vypis vysledkov
printf("Pocet pismen je: %d\n", count_alpha);
printf("Pocet cisel je: %d", count_digit);
}
int main()
{
// inicializacia retazca
char a[] = "Ahoj 1234, ukazka testovacich funkcii v stdio.h";
identify_alpha_numeric(a);
}
Výstup:
Pocet pismen je: 35 Pocet cisel je: 4