c character classification
Този урок обяснява функциите на C ++ за символи и трансформация с примери. Някои важни функции, покрити са isdigit, islower, isupper, isalpha и др .:
В нашия предишен урок за „библиотечни функции“ видяхме различните заглавки, които предоставят множество функции, които работят с различни типове данни. Заглавката е един такъв заглавие, който съдържа набор от функции, които класифицират и манипулират отделни символи.
=> Посетете тук, за да научите C ++ от нулата.
Функциите, декларирани в заглавката, вземат един параметър (int еквивалент) като параметър и връщат цяло число, което може да бъде или булева стойност, или стойност на символ. Стойност 0 (нула) означава false, докато стойност, различна от 0 (ненулева), показва true.
Тези едносимволни функции могат да се използват в програмата чрез включване на заглавката. Тези функции са широко използвани и приети и са изключително полезни в програмирането на C ++ за тестване и трансформиране или манипулиране на символи.
В този урок ще обсъдим различните символни функции и ще видим как всяка от тези функции може да се използва в програма.
Какво ще научите:
Символни функции на C ++
Символните функции на C ++ са функциите, които вземат само един символ като параметър (излят в int) и връщат резултат. Това могат да бъдат класификационни функции като isalpha, isalnum, isdigit, islower, isupper и др., За да назовем само няколко и трансформиращи функции като toupper и tolower, които трансформират даден знак съответно в главни или малки букви.
В заглавката имаме два типа функции, дефинирани, както е посочено по-долу.
(i) Функции за класификация на знаците
Функциите за класификация на символите се използват за проверка дали единичният символ, предаден като аргумент на функцията, принадлежи към определена категория.
Табулизирали сме функциите за класификация на символите, включени в заглавката по-долу:
Недей | Име на функцията | Функция Предназначение |
---|---|---|
7 | по-ниско | Проверява дали даден знак е с малки букви |
1 | isalnum | Проверява дали даден знак е буквено-цифрен |
две | isalpha | Проверява дали символът е азбучен |
3 | е празно | Проверява дали символът е празен |
4 | iscntrl | Проверява дали даденият знак е контролен знак |
5 | isdigit | Проверява дали даденият знак е десетична цифра |
6 | isgraph | Проверява дали даденият знак има графично представяне |
8 | печат | Проверява дали символът е герой за печат |
9 | изпълкт | Проверява дали знакът е пунктуационен знак |
10 | isspace | Проверява дали символът е празен |
единадесет | isupper | Проверява дали даденият символ е главен |
12 | isxdigit | Проверява дали символът е шестнадесетичен |
(ii) Функции за преобразуване на символи
Функциите за преобразуване на знаци се преобразуват между случаите Следните функции са включени във файла.
Недей | Име на функцията | Цел на функцията |
---|---|---|
1 | да понижи | Преобразува главни букви в малки |
две | тупер | Преобразува малки букви в главни |
Нека да видим всяка от функциите на символите (класификация и преобразуване) в детайли. Ще представим и прост пример за програмиране на C ++ за всяка от функциите.
Isalnum
Прототип на функция: int isalnum (int c);
Параметър (и): c => Символ, който трябва да бъде проверен, ако е буквено-цифрен или не
Възвръщаема стойност:
ненулево => c е буквено-цифрово
0 => c не е буквено-цифрено
Описание: Тази функция проверява дали даден знак c е буквено-цифрен или не. Под буквено-цифрено означава, че знакът е между A (a) -Z (z) или 0 до 9.
В C ++ тази функция е специфична за локала и нейната дефиниция присъства в заглавката.
Пример:
#include #include using namespace std; int main() { char chary(12) = 'Hello World'; // checking for isalnum() function for (int i=0; i<12; i++) { if (isalnum(chary (i))) cout << chary (i) << ' is alphanumeric' << endl; else cout << chary (i) << ' is not alphanumeric' << endl; } cout << endl; }
Изход:
Исалфа
Прототип на функция: int isalpha (int c);
Параметър (и): c-> Символ, който трябва да бъде проверен, ако е азбучен или не.
Възвръщаема стойност:
ненулево => c е азбучно
0 => не по азбучен ред
Описание: Тази функция проверява дали даден знак c е азбучен знак, т.е. сред малки и главни букви. Подобно на isalnum и тази функция зависи от локала, който използваме.
Пример:
#include #include using namespace std; int main() { char ch_alpha(5) = 'sth1'; for (int i=0; i<5; i++) { if (isalpha(ch_alpha(i))) cout << ch_alpha(i) << ' is an alphabet' << endl; else cout << ch_alpha(i) << ' is not an alphabet' << endl; } cout << endl; }
Изход:
Isblank
Прототип на функция: int isblank (int c);
Параметър (и): c => Символ, който трябва да бъде проверен.
Възвръщаема стойност:
ненулево => знакът е празен
0 => знакът не е празен
Описание: Тази функция проверява дали даден знак е празен или не. Празен знак е интервал, който се използва за разделяне на думи в ред текст.
В C ++ специфичната за локала версия на функцията isblank съществува в.
Пример:
#include #include using namespace std; int main() { char ch_alpha(6) = 's t h'; for (int i=0; i<6; i++) { if (isblank(ch_alpha(i))) cout << ch_alpha(i) << ' is a blank' << endl; else cout << ch_alpha(i) << ' is not a blank' << endl; } cout << endl; }
Изход:
Обърнете внимание на последния ред в изхода, който казва „не е празен“. Това се дължи на последната позиция на масива от знаци, която не е инициализирана до стойност, но все още има позиция за печат. Следователно не е празно.
Iscntrl
Прототип на функция: int iscntrl (int c);
Параметър (и): c => Символ за проверка
Възвръщаема стойност:
ненулево => c е контролен знак
0 => c не е контролен знак
Описание: Функцията проверява дали даден параметър е контролен знак. Контролният знак е знак, който не се появява на дисплея или не заема позиция за печат.
Пример:
#include #include using namespace std; int main() { char ch_alpha(6) = 's
t h'; for (int i=0; i<6; i++) { if (iscntrl(ch_alpha(i))) cout << ch_alpha(i) << ' is a control character' << endl; else cout << ch_alpha(i) << ' is not a control character' << endl; } cout << endl; }
Изход:
Isdigit
Прототип на функция: int isdigit (int c)
Параметър (и): c => Символ, хвърлен в int, чиято стойност трябва да бъде проверена.
Възвръщаема стойност: ненулево => c е десетична цифра
0 => c не е цифра
Описание: Тази функция проверява дали даден параметър е десетична цифра или не. Символът е десетична цифра, ако стойността му е между 0 и 9.
Пример:
#include #include using namespace std; int main() { char ch_alpha(5) = 'a12b'; for (int i=0; i<5; i++) { if (isdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is a digit' << endl; else cout << ch_alpha(i) << ' is not a digit' << endl; } cout << endl; }
Изход:
Isgraph
Прототип на функция: int isgraph (int c)
Параметър (и): c => Изискан знак на int, който се проверява с помощта на функцията isgraph
Възвръщаема стойност:
ненулево => c е графично представяне
0 => c не е графично представяне
Описание: Функцията проверява дали дадения знак c е символ с графично представяне. Символът, който може да бъде отпечатан, е знак с графично представяне.
Пример:
#include #include using namespace std; int main() { char ch_alpha(6) = 'a~12b'; for (int i=0; i<6; i++) { if (isgraph(ch_alpha(i))) cout << ch_alpha(i) << ' is a graphical character' << endl; else cout << ch_alpha(i) << ' is not a graphical character' << endl; } cout << endl; }
Изход:
Ислоуър
Прототип на функция: int islower (int c)
Параметър (и): c => Символ, който трябва да бъде проверен с помощта на функцията islower.
Възвръщаема стойност:
non-zer0 => c е с малки букви
0 => c не е с малки букви
Описание: Функцията islower проверява дали дадения знак c е с малки букви или не.
Малък знак е този, който има една от стойностите: 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.
Пример:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (islower(ch_alpha(i))) cout << ch_alpha(i) << ' is a lowercase character' << endl; else cout << ch_alpha(i) << ' is not a lowercase character' << endl; } cout << endl; }
Изход:
Печат
Прототип на функция: int спринт (int c)
Параметър (и): c => Символ, който трябва да бъде проверен с помощта на функцията isprint.
Възвръщаема стойност:
non-zer0 => c е за печат
0 => c не може да се отпечата
Описание: Функцията isprint проверява дали даден знак е за печат. Печатният знак е този, който заема позиция за отпечатване на дисплея.
Пример:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (isprint(ch_alpha(i))) cout << ch_alpha(i) << ' is a printable character' << endl; else cout << ch_alpha(i) << ' is not a printable character' << endl; } cout << endl; }
Изход:
Ispunct
Прототип на функция: int izpolct (int c)
Параметър (и): c => Символ, който трябва да бъде проверен с помощта на функцията ispunct.
Възвръщаема стойност:
non-zer0 => c е пунктуационен знак
0 => c не е пунктуационен знак
Описание: Тази функция проверява дали дадения знак е пунктуационен знак. Символът, който е графичен знак (от isgraph), а не буквено-цифров (от isalnum), се казва като пунктуационен знак.
Пример:
#include #include using namespace std; int main() { char ch_alpha(8) = 'sth@123'; for (int i=0; i<8; i++) { if (ispunct(ch_alpha(i))) cout << ch_alpha(i) << ' is a punctuation character' << endl; else cout << ch_alpha(i) << ' is not a punctuation character' << endl; } cout << endl; }
Изход:
Издаване
Прототип на функция: int isspace (int c)
Параметър (и): c => Символ, който трябва да бъде проверен с помощта на функцията isspace.
Възвръщаема стойност:
non-zer0 => c е бяло пространство
0 => c не е празно пространство
Описание: Тази функция проверява дали даден знак е празно пространство. За локала „C“ символите за празно пространство са всяко от следните.
Пример:
#include #include using namespace std; int main() { char ch_alpha(7) = 's t
h'; for (int i=0; i<7; i++) { if (isspace(ch_alpha(i))) cout << ch_alpha(i) << ' is a white space' << endl; else cout << ch_alpha(i) << ' is not a white space' << endl; } cout << endl; }
Изход:
Исупер
Прототип на функция: int isupper (int c)
Параметър (и): c => Символ, който трябва да бъде проверен с помощта на функцията isupper.
Възвръщаема стойност:
non-zer0 => c е главна буква
0 => c не е главна буква
Описание: Функциите islower проверяват дали дадения знак c е главен или не.
Големият знак е този, който има една от стойностите: 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.
Пример:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STh'; for (int i=0; i<4; i++) { if (isupper(ch_alpha(i))) cout << ch_alpha(i) << ' is an uppercase character' << endl; else cout << ch_alpha(i) << ' is not an uppercase character' << endl; } cout << endl; }
Изход:
Isxdigit
Прототип на функция: int isxdigit (int c)
Параметър (и): c => Символ, който трябва да бъде проверен с помощта на функцията isxdigit.
Възвръщаема стойност:
non-zer0 => c е шестнадесетичен
0 => c не е шестнадесетичен
Описание: Тази функция проверява дали дадения знак е шестнадесетична цифра. Валидните шестнадесетични цифри са 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
Пример:
#include #include using namespace std; int main() { char ch_alpha(6) = 'sbc10'; for (int i=0; i<6; i++) { if (isxdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is hexadecimal digit' << endl; else cout << ch_alpha(i) << ' is not hexadecimal digit' << endl; } cout << endl; }
Изход:
да понижи
Прототип на функция: int tolower (int c)
Параметър (и): c => Символ, който трябва да бъде преобразуван в малка буква.
Възвръщаема стойност:
връща долния еквивалент на c, непроменен в противен случай.
Връщаната стойност е int и може по подразбиране да бъде прехвърлена в char.
Описание: Това преобразува дадения знак c в неговия малък еквивалент. Ако преобразуването не е възможно за даден знак, тогава се връща непроменената стойност (c).
Пример:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< Изход:
STH преобразуван в малки букви: sth
тупер
Прототип на функция: int toupper (int c)
Параметър (и): c => знак, който трябва да бъде преобразуван в главни букви
Възвръщаема стойност:
връща горния еквивалент на c, непроменен в противен случай.
най-добрият регистър за почистване на Windows 7 64 бита
Връщаната стойност е int и може по подразбиране да бъде прехвърлена в char.
Описание: Това преобразува дадения знак c в неговия главен еквивалент. Ако преобразуването не е възможно за даден символ, тогава се връща непроменената стойност (c).
Пример:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< Изход:
уроци, преобразувани в малки букви: РУКОВОДСТВА
Заключение
Това завършва нашия урок за символни функции в C ++.
В този урок видяхме различни функции, които вземат един символ и след това или ги класифицират, или ги преобразуват. В следващите ни уроци ще обсъдим низа и техните функции и класове, свързани със C ++.
=> Открийте тук простите учебни серии C ++.
Препоръчително четене