Other Alias
memchr, memrchrSKŁADNIA
#include <string.h>
void *memchr(const void *s, int c, size_t n);
void *memrchr(const void *s, int c, size_t n);
void *rawmemchr(const void *s, int c);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
memrchr(), rawmemchr(): _GNU_SOURCE
OPIS
Funkcja memchr() skanuje pierwsze n bajtów obszaru pamięci wskazywanego przez s w poszukiwaniu pierwszego wystąpienia znaku c. Zarówno c, jak i bajty pamięci wskazywane przez s są interpretowane jako unsigned char.Funkcja memrchr()jest podobna do funkcji memchr(), z tym wyjątkiem, że poszukuje wstecz od końca n bajtów wskazywanych przez s, zamiast przeszukiwać do przodu od początku.
Funkcja rawmemchr() jest podobna do memchr(): zakłada (to jest: programista jest pewny), że w znak c występuje gdzieś w obszarze pamięci zaczynającym się w miejscu wskazywanym przez s i przeprowadza zoptymalizowane wyszukiwanie znaku c (tj. nie używa licznika do zawężenia obszaru przeszukiwania). Jeśli c nie występuje, to wynik jest nieprzewidywalny. Następujące wywołanie jest szybkim sposobem wyszukania bajtu null kończącego łańcuch znaków:
char *p = rawmemchr(s, '\0');
WARTOŚĆ ZWRACANA
Funkcje memchr() i memrchr() zwracają wskaźnik do pasującego bajtu lub NULL, jeżeli znak nie został znaleziony w podanym obszarze pamięci.Funkcja rawmemchr() zwraca wskaźnik do pasującego bajtu, jeśli taki zostanie znaleziony. W przeciwnym wypadku wynik funkcji jest nieokreślony.
WERSJE
rawmemchr() się po raz pierwszy pojawiła w wersji 2.1 biblioteki glibc.memrchr() się po raz pierwszy pojawiła w wersji 2.2 biblioteki glibc.
ATRYBUTY
Wielowątkowość (patrz pthreads(7))
Funkcje memchr(), memrchr() i rawmemchr() są wątkowo bezpieczne.ZGODNE Z
Funkcja memchr() jest zgodna z SVr4, 4.3BSD, C89, C99, POSIX.1-2001.Funkcja memrchr() jest rozszerzeniem GNU dostępnym od wersji 2.1.91 biblioteki glibc.
Funkcja rawmemchr() jest rozszerzeniem GNU dostępnym od wersji 2.1 biblioteki glibc.
O STRONIE
Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą wersję oryginału można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Jarosław Beczek (PTM) <[email protected]>, Andrzej Krzysztofowicz (PTM) <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]>.Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.71 oryginału.