std::strstr

< cpp‎ | string‎ | byte
Defined in header <cstring>
const char* strstr( const char* str, const char* target );
      char* strstr(       char* str, const char* target );

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

Parameters

str - pointer to the null-terminated byte string to examine
target - pointer to the null-terminated byte string to search for

Return value

Pointer to the first character of the found substring in str, or NULL if no such character is found. If target points to an empty string, str is returned.

Example

#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)) != NULL) {
        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 characters in the string
(public member function of std::basic_string<CharT,Traits,Allocator>)
finds the first occurrence of a wide string within another wide string
(function)
finds the first occurrence of a character
(function)
finds the last occurrence of a character
(function)