Biblioteka standardowa » String.h

Memchr

  • 2010-10-31 18:27
  • 0 komentarzy
  • 391 odsłon
  • Oceń ten tekst jako pierwszy
void* memchr(void* ptr, int value, size_t num);

Funkcja memchr odnajduje wskazany element w pamięci oraz zwraca wskaźnik do niego.

Parametry:
ptr
Wskaźnik do bloku pamięci, w którym będziemy szukali.
value
Wartość, która zostanie odszukana. Ta wartość zostanie rzutowana na typ unsigned char.
num
Ilość bajtów jaka zostanie przeanalizowana
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:


#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;
}
 
}