◐ Shell
clean mode source ↗

std::strstr — cppreference.com

Материал из cppreference.com

<tbody> </tbody>

Определено в заголовочном файле <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 <iostream>

int main()
{
    const char* str = "Try not. Do, or do not. There is no try.";
    const char* target = "not";
    const char* result = str;

    while ((result = std::strstr(result, target)))
    {
        std::cout << "Найдена '" << target 
                  << "' начиная с '" << result << "'\n";

        // Инкрементируем result, иначе мы найдём target в том же месте.
        ++result;
    }   
}

Вывод:

Найдена 'not' начиная с 'not. Do, or do not. There is no try.'
Найдена 'not' начиная с 'not. There is no try.'

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

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