Memchr
lmmilewski
void* memchr(void* ptr, int value, size_t num);
Funkcja memchr odnajduje wskazany element w pamięci oraz zwraca wskaźnik do niego.
Parametry:<dl><dt>ptr</dt><dd>Wskaźnik do bloku pamięci, w którym będziemy szukali.</dd><dt>value</dt><dd>Wartość, która zostanie odszukana. Ta wartość zostanie rzutowana na typ unsigned char.</dd><dt>num</dt><dd>Ilość bajtów jaka zostanie przeanalizowana</dd></dl>Zwracana wartość:
Jeżeli odpowiednia wartość istnieje w bloku pamięci wskazywanym przez ptr to funkcja zwraca wskaźnik do pierwszego wystąpienia tej wartości. W przeciwnym przypadku zostaje zwrócona wartość NULL.
Przykład:
```cpp #include <stdio.h> #include <string.h>int main(void)
{
// kawałek pamięci, który będziemy przeszukiwać
char tablica[9] = {1, 2, 51, 62, 3, 0, 24 , 55, 0};
// wyszukujemy odpowiedni element
char* ptr = (char*) memchr(tablica, 0, 9);
// sprawdzamy, czy wyszukiwanie się powiodło i wypisujemy odpowiedni komunikat
if (ptr) {
printf("Znalazłem wartość: %d na pozycji %d\n", *ptr, ptr-tablica);
if (++ptr)
printf("Następna wartość to: %d\n", *ptr);
} else {
printf("Nie znalazłem szukanej wartości\n");
}
return 0;
}
}