< c‎ | string‎ | byte
Defined in header <string.h>
char *strchr( const char *str, int ch );

Finds the first occurrence of ch (converted to char as if by (char)ch) in the byte string pointed to by str.

The terminating null character is considered to be a part of the string.


[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 <stdio.h>
#include <string.h>
int main(void)
  const char *str = "Try not. Do, or do not. There is no try.";
  char target = 'T';
  const char *result = str;
  while((result = strchr(result, target)) != NULL) {
    printf("Found '%c' starting at '%s'\n", target, result);
    ++result; // Increment result, otherwise we'll find target at the same location


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

[edit] References

  • C11 standard (ISO/IEC 9899:2011):
  • The strchr function (p: 367-368)
  • C99 standard (ISO/IEC 9899:1999):
  • The strchr function (p: 330)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • The strchr function

[edit] See also

finds the last occurrence of a character
(function) [edit]
finds the first location of any character in one string, in another string
(function) [edit]