В Си имеется обширная библиотека функций для работы со строками, которая вызывается директивой препроцессора:
#include <string.h>
Рассмотрим функции, входящие в эту библиотеку.
1. Определение текущей длины строки: int strlen(строка)– возвращает целое число без знака:
char *str;
str = ”jasyk C”;
unsigned int k;
k = strlen(str);
Переменная k примет значение 7.
2. Первое вхождение одного из символов строки – второго аргумента в строку – первый аргумент char *strpbrk(строка_1, строка_2) возвращает указатель на строку:
3. Первое вхождение символа – второго аргумента в строку – первый аргумент char *strchr(строка, символ) возвращает указатель на строку:
char str_1[50]="programmisty-molodcy";
char c =’m’;
char *str;
str = strchr(str_1, c);
printf(“\n%s”, str);
На экране появится сообщение:
Mmisty-molodcy
Если символ не найден, то функция возвращает значение NULL.
4. Последнее вхождение символа – второго аргумента в строку – первый аргумент char *strrchr(строка, символ) возвращает указатель на строку:
char str_1[50]="programmisty-molodcy, ljubjat nas krasavicy";
char c ='s';
char *str;
str = strrchr(str_1, c);
printf(“\n%s”, str);
На экране появится сообщение:
Savicy
Если символ не найден, то функция возвращает значение NULL.
5. Первое вхождение заданной последовательности символов строки – второго аргумента в строку – первый аргумент: char *strstr(строка_1, строка_2) возвращает указатель на строку:
char str_1[50]="programmisty-molodcy, ljubjat nas krasavicy";