Рядкові бібліотечні функції

Функції для роботи з рядками описані в заголовному файлі string.h. Деякі з них:

char *stpcpy(char *dest, const char *src);

Копіює символи рядка, поки не скопіює нульовий символ. Повертає величину dest + strlen(src). Пам'ять для dest повинна бути наперед заре-зервована.

char *strcat(char *dest, const char *src);

Приєднує другий рядок до першого. Повертає покажчик на початок нарощеного рядка.

char *strchr(const char *s, int з);

Сканує рядок s в пошуку першого входження заданого символу з. Нульовий символ можна шукати разом з іншими. Повертає покажчик на знайдений символ або 0, якщо символу немає.

int strcmp(const char *s1, const char*s2);

Порівнює 2 рядки. Повертає ціле менше нуля, якщо s1 < s2, рівне нулю, якщо s1 == s2, і більше нуля, якщо s1 > s2

char *strcpy(char *dest, const char *src);

Копіює другий аргумент в перший. Повертає покажчик на копію. Пам'ять для dest повинна бути наперед зарезервована.

char *strdup(const char *s);

Копіює рядок в новостворюваний функцією malloc() область пам'я-ті. Повертає покажчик на створену копію або 0 при невдачі. Програміст відповідає за звільнення пам'яті.

Приклад.

char *dup_str = strdup (string);
...

free (dup_str);
size_t strlen(const char *s);

 

Підраховує розмір рядка. Повертає кількість символів рядка без нульового символу. Тип size_t визначений у файлі string.h і інших заголовних файлах як ціле без знаку: typedef unsigned size_t;

char *strpbrk (const char *s1, const char *s2);

Сканує перший рядок у пошуках першого входження будь-якого символу з другого рядка. Повертає покажчик на знайдений символ або 0 при невдачі

char *strrchr (const char *s, int а);

Те ж, що strchr, але знаходить останнє входження символу а в рядок s.

char *strset(char *s, int ch);

Пише символ ch замість всіх символів рядка. Повертає s.

char *strstr(const char *s1, const char *s2);

Знаходить перше входження підрядка s1 у рядок s1. Повертає покажчик на місце першого входження або 0, якщо такого немає.

char *strtok(char *s1, const char *s2);

Сканує перший рядок у пошуках першої ділянки, що не містить символів з s2. Перший виклик функції повертає покажчик на початок першої ділянки і записує 0 в s1 відразу після кінця ділянки. Подальші виклики з NULL як 1-й аргумент обробляють рядок далі, поки що є такі ділянки. Якщо їх немає, повертається 0. Рядок s2 може змінюватися від виклику до виклику.

Функцію застосовують для виділення слів з пропозиції s1. У рядку s2 знаходяться символи-роздільники.

Зауваження. Для кожної функції існує варіант з дальніми покажчи-ками. Його ім'я, як правило, має префікс “_f”.