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, 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

C11, POSIX.1-2008.
GNU.

HISTORIA

POSIX.1-2001, C89, SVr4, 4.3BSD.
glibc 2.2.
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

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.

2 maja 2024 r. Linux man-pages 6.8