Scroll to navigation

memchr(3) Library Functions Manual memchr(3)

NAZWA

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

BIBLIOTEKA

Standardowa biblioteka C (libc, -lc)

SKŁADNIA

#include <string.h>
void *memchr(const void s[.n], int c, size_t n);
void *memrchr(const void s[.n], int c, size_t n);
[[przestarzałe]] void *rawmemchr(const void s[.n], 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.

WERSJE

rawmemchr() pojawiła się po raz pierwszy w glibc 2.1.

memrchr() pojawiła się po raz pierwszy w glibc 2.2.

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(): POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.

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.

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

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: 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 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.

5 stycznia 2023 r. Linux man-pages 6.03