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."
См. также
| находит первое вхождение заданной подстроки (открытая функция-член std::basic_string<CharT,Traits,Allocator>) |
|
| находит первое вхождение широкой строки в другую широкую строку (функция) |
|
| находит первое вхождение символа (функция) |
|
| находит последнее вхождение символа (функция) |
|
Документация C для strstr |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/byte/strstr