Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



У файлі <string.h> оголошена велика кількість функцій для роботи з рядками. Нижче наведено оголошення деяких функцій і їхнє призначення:

char *strcat (char * dest, const char *source). Функція дописує рядок dest у кінець рядка source;

char *strncat(char * dest, const char *source, unsigned n). Функція дописує не більш n символів рядка dest у кінець рядка source;

char *strchr (const char *source, int c) – пошук у рядку source першого входження зліва символу c, повертає покажчик на знайдений символ або NULL;

char strrchr (const char *source, int c) – пошук у рядку source першого входження зправа символу c, повертає покажчик на знайдений символ або NULL;

int strcmp (const char *s1, const char *s2) – порівнює рядки посимвольно, зліва направо. Повертає 0, якщо рядки s1 і s2 рівні, повертає негативне число, якщо s1 за алфавітом раніш s2, повертає позитивне число, якщо s1 за алфавітом пізніше s2.

int strncmp (const char *s1, const char *s2, unsigned n) – порівнює рядки за першими n символами;

int stricmp (const char *s1, const char *s2) – порівнює рядки без обліку регістра символів;

char *strcpy (char * dest, const char *source) – копіювання рядка source у рядок dest;

char *strncpy (char * dest, const char *source, unsigned n) – копіювання не більш n перших символів у рядок dest;

int strlen (const char *s) – повертає довжину рядка s;

char *strlwr (char *s) – перетворює символи рядка в нижній регістр (у маленькі букви);

char *strupr (char *s) – перетворює символи рядка у верхній регістр (у великі букви);

char *strset (char *s, int c) – заповнюють весь рядок s символом c;

сhar *strnset (char *s, int c, unsigned n) – заміняє перші n символів рядка s на символ c;

char *strrev (char *s) – розташовує всі символ рядка s, за винятком нуль термінатора, у зворотному порядку;

size_t strcspn (const char *s1, const char *s2) – повертає довжину початкової ділянки рядка s1, що складається із символів, яких немає в s2;

size_t strspn (const char *s1, const char *s2) – повертає довжину початкової ділянки рядка s1, що складається тільки із символів, що є в s2;

char *strpbrk (char *s1, char *s2) – переглядає рядок s1 зліва направо, поки не зустрінеться кожний із символів рядка s2; повертає покажчик на знайдений символ або NULL;

char *strtok (char *s1, const char *s2) – застосовується для послідовного пошуку в рядку s1 фрагментів рядка, обмежених символами з заданої множини розділителів. Множина розділителів задається рядком s2. Перше звертання до strtok фіксується у рядок (s1), в якому ведеться пошук. Для пошуку другого і третього і т.д. фрагментів рядка у тім же рядку в якості першого параметру задається NULL. Функція повертає покажчик на знайдений фрагмент рядка або NULL, якщо в рядку токенов не залишилося. Вихідний рядок змінюється – по мірі знаходження фрагментів рядка, перший за ними роздільник заміняється на нуль термінатор. Програма для експериментів з strtok наведена в додатку. Програма, в котрій за допомогою strtok виділяються слова в рядку, наведена у вказівках до лабораторної роботи.

char *strstr (const char *s1, const char *s2) – шукає перше з ліва входження рядка s2 у рядок s1. Повертає або покажчик на s2 у s1, або NULL, якщо s1 не містить рядка s2.

char *strdup (const char *s) – функція створює копію рядка s. Пам'ять для копії виділяється автоматичним викликом malloc(strlen(s) + 1). Програміст повинний самостійно звільнити цю пам'ять, коли вона стане непотрібною.





Дата публикования: 2015-09-17; Прочитано: 274 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...