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;

}

}

0 komentarzy