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 <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 << "Found '" << target 
                  << "' starting at '" << result << "'\n";
 
        // Increment result, otherwise we'll find target at the same location
        ++result;
    }   
}

Вывод:

Found 'not' starting at 'not. Do, or do not. There is no try.'
Found 'not' starting at '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/w/cpp/string/byte/strstr

Spec-Zone.ru

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