对码当歌,猿生几何?

memchr

From cppreference.com
< c‎ | string‎ | byte
Defined in header <string.h>
void* memchr( const void* ptr, int ch, size_t count );

Finds the first occurrence of ch (after conversion to unsigned char as if by (unsigned char)ch) in the initial count characters (each interpreted as unsigned char) of the object pointed to by ptr.

The behavior is undefined if access occurs beyond the end of the array searched. The behavior is undefined if ptr is a null pointer.

Parameters

ptr - pointer to the object to be examined
ch - character to search for
count - number of characters to examine

Return value

Pointer to the location of the character, or NULL if no such character is found.

Example

#include <stdio.h>
#include <string.h>
 
int main(void)
{
    char str[] = "ABCDEFG";
    char *ps = memchr(str,'D',strlen(str));
    if (ps != NULL)
       printf ("search character found:  %s\n", ps);
    else
       printf ("search character not found\n");
 
    return 0;
}

Output:

search character found:  DEFG

References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.24.5.1 The memchr function (p: 367)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.21.5.1 The memchr function (p: 330)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.5.1 The memchr function

See also

finds the first occurrence of a character
(function)