Namespaces
Variants

std:: strstr

From cppreference.net
Определено в заголовке <cstring>
const char * strstr ( const char * haystack, const char * needle ) ;
char * strstr ( char * haystack, const char * needle ) ;

Находит первое вхождение байтовой строки needle в байтовой строке, на которую указывает haystack . Завершающие нулевые символы не сравниваются.

Содержание

Параметры

haystack - указатель на нуль-терминированную байтовую строку для анализа
needle - указатель на нуль-терминированную байтовую строку для поиска

Возвращаемое значение

Указатель на первый символ найденной подстроки в haystack , или нулевой указатель, если такой символ не найден. Если needle указывает на пустую строку, haystack возвращается.

Пример

#include <cstring>
#include <iomanip>
#include <iostream>
int main()
{
    const char* str = "Try not. Do, or do not. There is no try.";
    const char* target = "not";
    for (const char* result = str; (result = std::strstr(result, target)); ++result)
        std::cout << "Found " << std::quoted(target)
                  << " starting at (" << result - str << "): "
                  << std::quoted(result) << '\n';
}

Вывод:

Found "not" starting at (4): "not. Do, or do not. There is no try."
Found "not" starting at (19): "not. There is no try."

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

находит первое вхождение заданной подстроки
(публичная функция-член std::basic_string<CharT,Traits,Allocator> )
находит первое вхождение широкой строки в другой широкой строке
(функция)
находит первое вхождение символа
(функция)
находит последнее вхождение символа
(функция)