cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : C Library : cstring (string.h) : memchr
 
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forum
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
C Library
cassert (assert.h)
cctype (ctype.h)
cerrno (errno.h)
cfloat (float.h)
climits (limits.h)
clocale (locale.h)
cmath (math.h)
csetjmp (setjmp.h)
csignal (signal.h)
cstdarg (stdarg.h)
cstddef (stddef.h)
cstdio (stdio.h)
cstdlib (stdlib.h)
cstring (string.h)
ctime (time.h)
cstring (string.h)
functions:
· memchr
· memcmp
· memcpy
· memmove
· memset
· strcat
· strchr
· strcmp
· strcoll
· strcpy
· strcspn
· strerror
· strlen
· strncat
· strncmp
· strncpy
· strpbrk
· strrchr
· strspn
· strstr
· strtok
· strxfrm
macros:
· NULL
types:
· size_t

-

memchr function
const void * memchr ( const void * ptr, int value, size_t num );
      void * memchr (       void * ptr, int value, size_t num );
<cstring>

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.

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.

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

Portability

In C, this function is declared as:

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

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

Example

/* 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

memcmp Compare two blocks of memory (function)
strchr Locate first occurrence of character in string (function)
strrchr Locate last occurrence of character in string (function)
© The C++ Resources Network, 2000-2007 - All rights reserved
Spotted an error? - contact us