Chapter Contents |
Previous |
Next |
memchr |
Portability: | ISO/ANSI C conforming, UNIX compatible |
SYNOPSIS | |
DESCRIPTION | |
RETURN VALUE | |
CAUTION | |
EXAMPLE | |
RELATED FUNCTIONS | |
SEE ALSO |
SYNOPSIS |
#include <string.h> void *memchr(const void *ptr, int ch, size_t n);
DESCRIPTION |
memchr
searches
n
bytes, beginning at the location
pointed to by
ptr
, for the first occurrence
of
ch
.
RETURN VALUE |
The return value is a pointer to the first
occurence of
ch
, or
NULL
if the character cannot be found.
CAUTION |
The third argument to
memchr
is
size_t
.
See the description section for
memscntb for information on possible
interactions between the
memchr
,
memscntb
, or
strscntb
functions.
EXAMPLE |
This example counts the number of zero bytes in a 256-byte memory area:
#include <string.h> #include <stdio.h> #define SIZE 256 main() { char area[SIZE]; int offset = 0; int count = 0; char *next, *prev; int i; /* Every alternate element is assigned zero value. */ for (i = 0; i <= 255; i+=2) { area[i] = '\1'; area[i+1] = '\0'; } prev = area; for (;;) { next = memchr(prev, '\0' , 256 - offset); if (!next) break; ++count; prev = next+1; offset = (prev - area + 1); } printf("%d zero bytes found. \n", count); }
RELATED FUNCTIONS |
SEE ALSO |
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.