Домашняя страница библиотеки_c AVR

Синтаксис языка C

Библиотека языка C GNU glibc

Страницы развития библиотеки_с AVR

Главная страница

Инструкция пользователя

Содержание библиотеки_c

Часто задаваемые вопросы

Содержание по алфавиту

Демонстрационные проекты


<ctype.h>: Операции с символами


Детальное Описание

Эти функции исполняют различные операции с символами.

#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)


Документация Функций

int isalnum

(

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"

}

int isalpha

(

int 

__c

 ) 

 

Проверяет является ли передаваемое значение алфавитным символом (от "а" до "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"

}

 

int isascii

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение 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"

}

 

int isblank

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение пробелом или табуляцией.

Пример использования: #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"

}

 

int iscntrl

(

int 

__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"

}

 

int isdigit

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение цифрой (от 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"

}

 

int isgraph

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение любым символом, а не пробелом (коды в диапазоне от 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"

}

 

int islower

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение символом нижнего регистра.

Пример использования: #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"

}

 

int isprint

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение печатным символом, включая пробел (коды в диапазоне от 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"

}

 

int ispunct

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение символом-разделителем (любой символ, кроме управляющих и буквенно-цифровых).

Пример использования: #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"

}

int isspace

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение символом незаполненного пространства. Для библиотеки avr-libc - это: пробел, прогон страницы ('\f'), перевод строки ('\n'), перевод каретки ('\r'), горизонтальная позиция табуляции ('\t'), и вертикальная позиция табуляции ('\v').

int isupper

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение символом верхнего регистра.

Пример использования: #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"

}

 

int isxdigit

(

int 

__c

 ) 

 

Проверяет, является ли передаваемое значение разрядом шестнадцатеричной цифры, то есть одним из 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F.

Пример использования: #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"

}

 

int toascii

(

int 

__c

 ) 

 

Преобразует передаваемое значение в 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"

}

Предупреждение:

Много людей будут несчастны, если Вы используете эту функцию. Эта функция преобразует символы с диакритическим знаком (видимо имеется в виду знак ‘\’) в случайные символы.

 

int tolower

(

int 

__c

 ) 

 

Преобразовывает передаваемое значение в символ нижнего регистра, если это возможно.

Пример использования: #include <stdio.h>

#include <ctype.h>

void main(void)

{

printf ("%c", tolower('A')); // Результат: "а"

}

 

int toupper

(

int 

__c

 ) 

 

Преобразовывает передаваемое значение в символ верхнего регистра, если это возможно.

Пример использования: #include <stdio.h>

#include <ctype.h>

void main(void)

{

printf("%c", toupper('a')); // Результат: "А"

}

 


Automatically generated by Doxygen 1.5.2 on 21 Dec 2007.

Hosted by uCoz