Namespaces
Variants
Views
Actions

std::strchr

From cppreference.com
< cpp‎ | string‎ | byte
Revision as of 10:03, 5 June 2023 by Andreas Krug (Talk | contribs)

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

Parameters

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

Return value

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

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.'

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