Spec-Zone.ru › C++

std::strstr

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

См. также

find
находит первое вхождение заданной подстроки
(открытая функция-член std::basic_string<CharT,Traits,Allocator>)
wcsstr
находит первое вхождение широкой строки в другую широкую строку
(функция)
strchr
находит первое вхождение символа
(функция)
strrchr
находит последнее вхождение символа
(функция)
Документация C для strstr

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/byte/strstr

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API