Эти функции исполняют различные операции с символами.
#include <ctype.h>
|
|
Функции классификации символов |
|
Эти функции исполняют классификацию символов. Они возвращают не ноль, если параметр функции соответствует проверяемому типу, или ноль – в противном случае (то есть. isdigit() возвращает не ноль, если ее параметр - любое значение от '0' до '9', включительно). Если передаваемое значение не unsigned char, все эти функции возвращают ноль. |
|
int |
isalnum (int __c) |
int |
isalpha (int __c) |
int |
isascii (int __c) |
int |
isblank (int __c) |
int |
iscntrl (int __c) |
int |
isdigit (int __c) |
int |
isgraph (int __c) |
int |
islower (int __c) |
int |
isprint (int __c) |
int |
ispunct (int __c) |
int |
isspace (int __c) |
int |
isupper (int __c) |
int |
isxdigit (int __c) |
Функции преобразовывания символов |
|
Эти реализации разрешают все возможные значения аргументов int. Функция toascii() очищает все старшие биты. Функции tolower() и toupper() возвращают входной параметр неизменным, если он - не значение unsigned char. |
|
int |
toascii (int __c) |
int |
tolower (int __c) |
int |
toupper (int __c) |
Проверяет
является ли
передаваемое
значение
алфавитно-цифровым
символом.
Эквивалентно
(
isalpha
(
c
) ||
isdigit
(
c
))
.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isalnum('2');
tst2 = isalnum(2);
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl = 50, tst2 = 0"
}
Проверяет
является ли
передаваемое
значение
алфавитным
символом (от
"а" до "z") в верхнем
или нижнем
регистре.
Эквивалентно
(
isupper
(
c
) ||
islower
(
c
))
.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isalpha('z');
tst2 = isalpha('2');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=122, tst2=0"
}
Проверяет, является ли передаваемое значение 7-и битным unsigned char значением, входящим в набор символов ASCII.
Пример использования: #include <stdio.h>
#include <ctype.h>
int
tstl, tst2; void main(void)
{
tstl
= isascii('W');
tst2 = isascii('IO');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=128, tst2=0"
}
Проверяет, является ли передаваемое значение пробелом или табуляцией.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isblank(' ' ) ;
tst2 = isblank('_');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=32, tst2=0"
}
Проверяет, является ли передаваемое значение символом верхнего регистра.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isalpha('z');
tst2 = isalpha('2');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=122, tst2=0"
}
Проверяет, является ли передаваемое значение цифрой (от 0 до 9).
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isdigit('0') ;
tst2 = isdigit('A') ;
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=48, tst2=0"
}
Проверяет, является ли передаваемое значение любым символом, а не пробелом (коды в диапазоне от 33 до 127).
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isgraph('_');
tst2 = isgraph(' ');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=95, tst2=0"
}
Проверяет, является ли передаваемое значение символом нижнего регистра.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= islower('a');
tst2 = islower('A');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=97, tst2=0"
}
Проверяет, является ли передаваемое значение печатным символом, включая пробел (коды в диапазоне от 32 до 127).
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isprint(' ');
tst2 = isprint('\n');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=32, tst2=0"
}
Проверяет, является ли передаваемое значение символом-разделителем (любой символ, кроме управляющих и буквенно-цифровых).
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= ispunct('.');
tst2 = ispunct(' ');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=255, tst2=0"
}
Проверяет,
является ли передаваемое
значение символом
незаполненного
пространства.
Для библиотеки
avr-libc
- это: пробел,
прогон
страницы ('\f'),
перевод
строки ('\n'),
перевод
каретки ('\r'),
горизонтальная
позиция
табуляции ('\t'), и
вертикальная
позиция
табуляции ('\v').
Проверяет, является ли передаваемое значение символом верхнего регистра.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char
tstl, tst2;
void
main(void)
{
tstl
= isupper('A');
tst2 = isupper('a');
printf("tstl=%d, tst2=%d", tstl, tst2); // Результат: "tstl=65, tst2=0"
}
Проверяет,
является ли передаваемое
значение
разрядом
шестнадцатеричной
цифры, то
есть одним из
0 1 2 3 4 5 6 7 8
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char tstl,
tst2;
void main(void)
{
tstl = isdigit('a');
tst2 = isdigit('h');
printf("tstl=%d, tst2=%d", tstl,
tst2); // Результат: "tstl=97, tst2=0"
}
Преобразует передаваемое значение в 7-и битное значение типа unsigned char, соответствующее таблице ASCII, путём очистки старших битов.
Пример использования: #include <stdio.h>
#include <ctype.h>
unsigned char tstl,
tst2;
void main(void)
{
tstl = toascii('A'); //Код 65 = 01000001
tst2 = toascii(193);
//Код 193 = 11000001
printf("tstl=%c, tst2=%c", tstl,
tst2); // Результат: "tstl=A, tst2=A"
}
Предупреждение:
Много людей будут несчастны, если Вы используете эту функцию. Эта функция преобразует символы с диакритическим знаком (видимо имеется в виду знак ‘\’) в случайные символы.
Преобразовывает передаваемое значение в символ нижнего регистра, если это возможно.
Пример использования: #include <stdio.h>
#include <ctype.h>
void main(void)
{
printf
("%c", tolower('A')); // Результат: "а"
}
Преобразовывает передаваемое значение в символ верхнего регистра, если это возможно.
Пример использования: #include <stdio.h>
#include <ctype.h>
void main(void)
{
printf("%c", toupper('a')); //
Результат:
"А"
}
Automatically generated by Doxygen 1.5.2 on 21 Dec 2007.