Biblioteka standardowa » String.h

Memcmp

  • 2010-10-31 18:27
  • 0 komentarzy
  • 470 odsłon
  • Oceń ten tekst jako pierwszy
int memcmp( const void* ptr1, const void* ptr2, size_t num );

Funkcja memcmp Porównuje num pierwszych bajtów z bloku pamięci wskazywanego przez ptr1 z odpowiednimi bajtami z bloku wskazywanego przez ptr2.

Paramerty:
ptr1
Wskaźnik do pierwszego bloku pamięci.

ptr2
Wskaźnik do drugiego bloku pamięci.

num
Ilość porównywanych bajtów

Zwracana wartość:
0 Jeżeli oba fragmenty pamięci są identyczne, zaś w przeciwnym przypadku wartość wskazującą który z nich jest większy (w sensie leksykograficznym).

Przykład:


#include <stdio.h>
#include <string.h>
 
 
int main(void) {
    // 2 bloki pamięci
    char t1[] = "Ala ma kota";
    char t2[] = "Ala ma psa";
 
    printf("Pierwszy blok:%s\nDrugi blok:%s\n", t1, t2);
    // testujemy odpowiednie kawałki blokow 
    if (memcmp(t1, t2, 6) == 0)
        printf("Pierwsze 6 bajtów jest takich samych\n");
    if (memcmp(t1, t2, 10) == 0)
        printf("Oba bloki pamieci sa takie same\n");
    else if (memcmp(t1, t2, 10) > 0)
        printf("Pierwszy blok jest później słowniku\n");
    else
        printf("Drugi blok jest później w słowniku\n");
 
    return 0;
 
}