memcmp

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu mem.h - Index


Header-Datei

mem.h, string.h

Kategorie

Routinen für Speicher- und String-Bearbeitung, Inline-Routinen

Prototyp

int memcmp(const void *s1, const void *s2, size_t n);

Beschreibung

Vergleicht genau n Bytes zweier Blöcke.

memcmp ist auf UNIX System V-Systemen verfügbar.

memcmp vergleicht die ersten n Bytes der Blöcke s1 und s2 als unsigned chars.

Rückgabewert

Da die Bytes als unsigned chars verglichen werden, gibt memcmp einen der folgenden Werte zurück:

  • < 0, wenn s1 kleiner s2 ist
  • = 0, wenn s1 gleich s2 ist
  • > 0, wenn s1 größer s2 ist

Beispielsweise gibt

memcmp(“\xFF”, “\x7F”, 1)

einen Wert größer 0 zurück.

Anmerkung:  Wenn Sie die intrinsische Version dieser Funktionen verwenden, wird im Fall von n = 0 NULL zurückgegeben.

Beispiel



 #include <stdio.h>
 #include <string.h>
 int main(void)
 {
    char *buf1 = "aaa";
    char *buf2 = "bbb";
    char *buf3 = "ccc";
    int stat;
    stat = memcmp(buf2, buf1, strlen(buf2));
    if (stat > 0)
       printf("buffer 2 is greater than buffer 1\n");
    else
       printf("buffer 2 is less than buffer 1\n");
    stat = memcmp(buf2, buf3, strlen(buf2));
    if (stat > 0)
       printf("buffer 2 is greater than buffer 3\n");
    else
       printf("buffer 2 is less than buffer 3\n");
    return 0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

+

+

+

+