Работа с функцией strstr в языке программирования С
Функция strstr() в языке программирования C используется для поиска первого вхождения подстроки в строку. Функция определена в заголовочном файле string.h и имеет следующий прототип:
char *strstr(const char *str1, const char *str2);
Аргументы функции:
- str1: указатель на строку, в которой нужно искать
- str2: указатель на подстроку, которую нужно найти
Возвращаемое значение: указатель на первое вхождение подстроки str2 в строку str1, или NULL, если подстрока не найдена.
Для использования функции strstr() для поиска подстроки нужно передать две строки в качестве аргументов и сохранить результат в указатель типа char*. Рассмотрим пример:
#include
#include
int main()
{
char str1[50] = "This is a string";
char str2[10] = "is";
char *result = strstr(str1, str2);
if(result) {
printf("Найдена подстрока \"%s\" в строке \"%s\" начиная с позиции %ld\n", str2, str1, result-str1);
} else {
printf("Подстрока \"%s\" не найдена в строке \"%s\"\n", str2, str1);
}
return 0;
}
В этом примере искомая подстрока "is" находится первый раз в строке "This is a string" начиная с третьего символа, поэтому результат вывода будет таким:
Найдена подстрока "is" в строке "This is a string" начиная с позиции 2
Если подстрока не будет найдена, то функция strstr() вернет NULL, как видно во втором случае вывода в примере.