memchr
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.
This function behaves as if it reads the characters sequentially and stops as soon as a matching character is found: if the array pointed to by | (since C11) |
Parameters
ptr | - | pointer to the object to be examined |
ch | - | character to search for |
count | - | max 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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/string/byte/memchr