function
<cstring>

memchr

const void * memchr ( const void * ptr, int value, size_t num );
      void * memchr (       void * ptr, int value, size_t num );
Locate character in block of memory
Searches within the first num bytes of the block of memory pointed by ptr for the first occurrence of value (interpreted as an unsigned char), and returns a pointer to it.

Both value and each of the bytes checked on the the ptr array are interpreted as unsigned char for the comparison.

Parameters

ptr
Pointer to the block of memory where the search is performed.
value
Value to be located. The value is passed as an int, but the function performs a byte per byte search using the unsigned char conversion of this value.
num
Number of bytes to be analyzed.
size_t is an unsigned integral type.

Return Value

A pointer to the first occurrence of value in the block of memory pointed by ptr.
If the value is not found, the function returns a null pointer.

Portability

In C, this function is only declared as:

void * memchr ( const void *, int, size_t );

instead of the two overloaded versions provided in C++.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* memchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char * pch;
  char str[] = "Example string";
  pch = (char*) memchr (str, 'p', strlen(str));
  if (pch!=NULL)
    printf ("'p' found at position %d.\n", pch-str+1);
  else
    printf ("'p' not found.\n");
  return 0;
}


Output:

'p' found at position 5.

See also

                              1. 7297372428 2018-04-20
                              2. 4929522427 2018-04-20
                              3. 1938132426 2018-04-20
                              4. 2267862425 2018-04-20
                              5. 6177082424 2018-04-20
                              6. 838232423 2018-04-20
                              7. 4694502422 2018-04-20
                              8. 6512882421 2018-04-19
                              9. 4659652420 2018-04-19
                              10. 2967832419 2018-04-19
                              11. 8339042418 2018-04-19
                              12. 8147112417 2018-04-19
                              13. 2774752416 2018-04-19
                              14. 4316132415 2018-04-19
                              15. 6265742414 2018-04-19
                              16. 1875142413 2018-04-19
                              17. 4146552412 2018-04-19
                              18. 8205662411 2018-04-19
                              19. 959982410 2018-04-19
                              20. 7153742409 2018-04-19