Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпори гос.docx
Скачиваний:
21
Добавлен:
13.09.2019
Размер:
2.93 Mб
Скачать

Функції обробки символів та рядків

Функції для обробки символів та рядків описані у хеда-файлах ctype.h, stdlib.h, string.h.

Функції, що дозволяють встановити належність символу до деякої групи

int isalnum(int ch)

визначає чи є символ лат.буква чи цифра

int isalpha(int ch)

Визначає чи є символ великою чи маленькою буквою.

int isblank(int ch)

повертає 0, якщо символ не є горизонтальною табуляцією або переведенням каретки, пропуском.

int iscntrl(int ch)

перевіряє чи є символ керуючим кодом.

int isdigit(int ch)

перевіряє чи є символ цифрою

int islower(int ch)

перевіряє чи є символ маленькою лат. літерою.

int isupper(int ch)

перевіряє чи є символ великою лат. Літерою

int isprint(int ch)

перевіряє чи є символ друкованим, чи можна його друкувати, чи належить код символу проміжку 32÷127

int ispunct(int ch)

перевіряє чи є символ знаком пунктуації

int isxdigit(int ch)

перевіряє чи є символ цифрою 16-ї системи числення

int isspace(int ch)

перевіряє чи є символ пробілом

Всі функції повертають 0, якщо таке твердження не вірне, або не 0, якщо твердження вірне.

Функції, що стосуються рядків, які розглядаються як послідовність байт.

void *memchr(const void *buf, int ch, size_t count);

шукає входження символу ch у деякій послідовності байт, що починається з buf та має довжину сount. Ф-я повертає адресу першого входження такого символу.

void *memcpy(const void *buf1, const void *buf2, size_t count);

копіюється з buf1 в buf2 розміром count

int *memcmp(const void *buf1, const void *buf2, size_t count);

порівнюється послідовність байт з buf1 та buf2 розміром count. Якщо buf1<buf2, повертається від’ємне число, якщо buf1=buf2 – 0, якщо buf1>buf2 – додатне число.

void *memmove(const void *buf1, const void *buf2, size_t count);

дія функції аналогічна memcpy, але в тому випадку, коли буфер перекривається memmove гарантує правильне копіювання в buf2. Тобто, якщо буфери перекриваються, то buf2 перенесеться кудись в інше місце, а потім вірно перепишеться.

void *memset(const void *buf1, int ch, size_t count)

заповнює ділянку пам’яті значенням ch довжиною сount

Функції, що обробляють рядки

char *strcat(char *str1, const char *str2);

виконує конкатенацію двох рядків

char *strcpy(char *str1, const char *str2);

виконує копіювання з str2 в str1.

int *strcmp(char *str1, const char *str2);

виконує порівняння двох рядків.

strncat

аналогічно до strcat, аналогічні параметри, окрім того, що третій параметр задає кількість символів.

strncmp

порівняння певної кількості символів з рядка або до зустрічі нуля.

strrev

виконує реверс рядка (переставляє символи навпаки).

char *strtok(const char *buf, const char *delim);

виконує синтаксичний розбір рядка поданого як buf, використовуючи розділові знаки подані як delim. Результатом функції є один елемент такого розбору. Наступні елементи отримують після того як ф-я викликалась з параметром NULL замість buf.

Білет23