memchr(3)

NAZWA
memchr, memrchr, rawmemchr - szuka znaku w pamięci

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <string.h>

void *memchr(size_t n;
             const void s[n], int c, size_t n);
void *memrchr(size_t n;
             const void s[n], int c, size_t n);

[[przestarzałe]] 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(): lecz zakłada (to jest: programista jest pewny), że znak c występuje gdzieś w obszarze pamięci zaczynającym się w miejscu wskazywanym przez s. Jeśli c nie występuje, to wynik jest nieprzewidywalny. Należy korzystać z zamienników w postaci strlen(3) lub memchr(3).

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.

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
memchr(), memrchr(), rawmemchr() | Bezpieczeństwo wątkowe | MT-bezpieczne

STANDARDY

memchr()
    C11, POSIX.1-2008.

memrchr()
rawmemchr()
    GNU.

HISTORIA

memchr()
    POSIX.1-2001, C89, SVr4, 4.3BSD.

memrchr()
    glibc 2.2.

rawmemchr()
    glibc 2.1.

ZOBACZ TAKŻE
bstring(3), ffs(3), memmem(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Jarosław Beczek <bexx@poczta.onet.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.