Namespaces
Variants
Views
Actions

std::strchr

From cppreference.com
< cpp‎ | string‎ | byte
Defined in header <cstring>
const char* strchr( const char* str, int ch );
      char* strchr(       char* str, int ch );

Finds the first occurrence of the character static_cast<char>(ch) in the byte string pointed to by str.

The terminating null character is considered to be a part of the string and can be found if searching for '\0'.

Contents

[edit] Parameters

str - pointer to the null-terminated byte string to be analyzed
ch - character to search for

[edit] Return value

Pointer to the found character in str, or a null pointer if no such character is found.

[edit] Example

#include <cstring>
#include <iostream>
 
int main()
{
    const char* str = "Try not. Do, or do not. There is no try.";
    char target = 'T';
    const char* result = str;
 
    while ((result = std::strchr(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 'T' starting at 'Try not. Do, or do not. There is no try.'
Found 'T' starting at 'There is no try.'

[edit] See also

searches an array for the first occurrence of a character
(function) [edit]
finds the first occurrence of the given substring
(public member function of std::basic_string<CharT,Traits,Allocator>) [edit]
finds the first occurrence of a wide character in a wide string
(function) [edit]
finds the last occurrence of a character
(function) [edit]
finds the first location of any character from a set of separators
(function) [edit]
C documentation for strchr