Scroll to navigation

std::strstr(3) C++ Standard Libary std::strstr(3)

NAME

std::strstr - std::strstr

Synopsis


Defined in header <cstring>
const char* strstr( const char* haystack, const char* needle );
char* strstr( char* haystack, const char* needle );


Finds the first occurrence of the byte string needle in the byte string pointed to
by haystack. The terminating null characters are not compared.

Parameters


haystack - pointer to the null-terminated byte string to examine
needle - pointer to the null-terminated byte string to search for

Return value


Pointer to the first character of the found substring in haystack, or a null pointer
if no such character is found. If needle points to an empty string, haystack is
returned.

Example

// Run this code


#include <iostream>
#include <cstring>


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)) != nullptr) {
std::cout << "Found '" << target
<< "' starting at '" << result << "'\n";


// Increment result, otherwise we'll find target at the same location
++result;
}
}

Output:


Found 'not' starting at 'not. Do, or do not. There is no try.'
Found 'not' starting at 'not. There is no try.'

See also


find find characters in the string
(public member function of std::basic_string<CharT,Traits,Allocator>)
wcsstr finds the first occurrence of a wide string within another wide string
(function)
strchr finds the first occurrence of a character
(function)
strrchr finds the last occurrence of a character
(function)

2022.07.31 http://cppreference.com