memcmp(3) Library Functions Manual memcmp(3) BEZEICHNUNG memcmp - vergleicht Speicherbereiche BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include int memcmp(const void s1[.n], const void s2[.n], size_t n); BESCHREIBUNG Die Funktion memcmp() vergleicht die ersten n Byte (jedes wird als unsigned char interpretiert) der Speicherbereiche s1 und s2. RUCKGABEWERT Die Funktion memcmp() gibt eine Ganzzahl zuruck, die kleiner als, gleich oder grosser als Null ist, wenn die ersten n Byte von s1 kleiner als, gleich oder grosser als die ersten n Byte von s2 sind. Fur einen von Null verschiedenen Ruckgabewert 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 Ruckgabewert Null. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |memcmp() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS C11, POSIX.1-2008. GESCHICHTE POSIX.1-2001, C89, SVr4, 4.3BSD. WARNUNGEN Verwenden Sie memcmp() nicht, um vertrauliche Daten wie kryptographische Geheimnisse zu vergleichen; da die benotigte CPU-Zeit abhangig vom Inhalt der verglichenen Adressen ist, ist diese Funktion Ziel von zeitbasierten Seitenkanalangriffen. Stattdessen wird in solchen Fallen eine Funktion benotigt, die den Vergleich in konstanter Zeit durchfuhrt und die nur von n abhangt (der Menge der verglichenen Bytes). Einige Betriebssysteme bieten eine solche Funktion (z.B. NetBSDs consttime_memequal()), aber in POSIX ist keine solche Funktion spezifiziert. Unter Linux kann es notwendig sein, eine solche Funktion selbst zu implementieren. SIEHE AUCH bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 memcmp(3)