РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
181 of 815 menu

Функция strstr

Функция strstr ищет первое вхождение подстроки в строке. В первый параметр передаётся строка, в которой выполняется поиск, а во второй - подстрока, которую нужно найти. Функция возвращает указатель на начало найденной подстроки внутри исходной строки. Если подстрока не найдена, возвращается нулевой указатель NULL.

Функция работает с C-строками, то есть с массивами символов, заканчивающимися нулевым символом '\0'. Для её использования необходимо подключить заголовочный файл <cstring>.

Синтаксис

const char* strstr(const char* str, const char* substr)

Пример

Давайте найдём подстроку "cd" в строке "abcde" и выведем найденную часть строки:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; const char* res = strstr(str, "cd"); if (res != NULL) { cout << res << endl; } else { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

"cde"

Пример

Функция возвращает указатель на начало найденной подстроки. Давайте вычислим позицию найденной подстроки в строке:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; const char* res = strstr(str, "cd"); if (res != NULL) { cout << res - str << endl; } else { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

2

Пример

Давайте попробуем найти подстроку, которой нет в строке:

#include <iostream> #include <cstring> using namespace std; int main() { const char* str = "abcde"; const char* res = strstr(str, "xy"); if (res != NULL) { cout << res << endl; } else { cout << "not found" << endl; } return 0; }

Результат выполнения кода:

"not found"

Смотрите также

  • функция strchr,
    которая ищет первое вхождение символа в строке
  • функция strcmp,
    которая сравнивает две строки
  • функция strlen,
    которая возвращает длину строки
  • функция strcpy,
    которая копирует одну строку в другую
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить