memcmp(3) vergleicht Speicherbereiche

ÜBERSICHT

#include <string.h>


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

BESCHREIBUNG

Die Funktion memcmp() vergleicht die ersten n Byte (jedes wird als unsigned char interpretiert) der Speicherbereiche s1 und s2.

RÜCKGABEWERT

Die Funktion memcmp() gibt eine Ganzzahl zurück, die kleiner als, gleich oder größer als Null ist, wenn die ersten n Byte von s1 kleiner als, gleich oder größer als die ersten n Byte von s2 sind.

Für einen von Null verschiedenen Rückgabewert wird das Vorzeichen durch das Vorzeichen der Differenz innerhalb des ersten Byte-Paares bestimmt (als vorzeichenloses Zeichen interpretiert), das sich in s1 und s2 unterscheidet.

Falls n Null ist, ist der Rückgabewert Null.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
SchnittstelleAttributWert
memcmp() Multithread-FähigkeitMT-Safe

KONFORM ZU

POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

ANMERKUNGEN

Verwenden Sie memcmp() nicht, um sicherheitskritische Daten wie kryptographische Geheimnisse zu vergleichen, da die benötigte CPU-Zeit abhängig von der Anzahl gleicher Bytes ist. Stattdessen wird eine Funktion benötigt, die den Vergleich in konstanter Zeit durchführt. Einige Betriebssysteme bieten eine solche Funktion (z.B. NetBSD's consttime_memequal()), aber in POSIX ist keine solche Funktion spezifiziert. Unter Linux kann es notwendig sein, eine solche Funktion selbst zu implementieren.

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <[email protected]> und Martin Eberhard Schauer <[email protected]> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.