Namespaces
Variants
Views
Actions

std::strstr

From cppreference.com
< cpp‎ | string‎ | byte
Revision as of 08:50, 16 January 2013 by Nate (Talk | contribs)

Template:ddcl list begin <tr class="t-dsc-header">

<td>
Defined in header <cstring>
</td>

<td></td> <td></td> <tr class="t-dcl ">

<td class="t-dcl-nopad">
const char* strstr( const char* str, const char* target );
</td>

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td class="t-dcl-nopad">
      char* strstr(       char* str, const char* target );
</td>

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end

Finds the first occurrence of the byte string target in the byte string pointed to by str.

Contents

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

Template:cpp/string/basic string/dcl list findTemplate:cpp/string/wide/dcl list wcsstrTemplate:cpp/string/byte/dcl list strchrTemplate:cpp/string/byte/dcl list strrchr
C documentation for strstr