memcmp
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++ |
---|---|---|---|
+ |
+ |
+ |
+ |