memcmp, wmemcmpmemcmp, wmemcmp

Vergleicht Zeichen in zwei Puffern.Compares characters in two buffers.

SyntaxSyntax

int memcmp(
   const void *buffer1,
   const void *buffer2,
   size_t count
);
int wmemcmp(
   const wchar_t * buffer1,
   const wchar_t * buffer2,
   size_t count
);

ParameterParameters

buffer1buffer1
Erster Puffer.First buffer.

buffer2buffer2
Zweite Puffer.Second buffer.

countcount
Anzahl der zu vergleichenden Zeichen.Number of characters to compare. (Vergleicht Bytes für memcmp, breit Zeichen für wmemcmp).(Compares bytes for memcmp, wide characters for wmemcmp).

RückgabewertReturn Value

Der Rückgabewert gibt die Beziehung zwischen den Puffern an.The return value indicates the relationship between the buffers.

RückgabewertReturn value Beziehung der ersten count -Zeichen von buf1 und buf2Relationship of first count characters of buf1 and buf2
< 0< 0 buffer1 kleiner als buffer2buffer1 less than buffer2
00 buffer1 identisch mit buffer2buffer1 identical to buffer2
> 0> 0 buffer1 größer als buffer2buffer1 greater than buffer2

BemerkungenRemarks

Vergleicht die ersten count -Zeichen von buffer1 und buffer2 und gibt einen Wert zurück, der Ihre Beziehung angibt.Compares the first count characters of buffer1 and buffer2 and returns a value that indicates their relationship. Das Zeichen eines Rückgabewerts ungleich Null ist das Zeichen des Unterschieds zwischen dem ersten unterschiedlichen Wertpaar in den Puffern.The sign of a non-zero return value is the sign of the difference between the first differing pair of values in the buffers. Die Werte werden als unsigned char für memcmp und als wchar_t für wmemcmp interpretiert.The values are interpreted as unsigned char for memcmp, and as wchar_t for wmemcmp.

AnforderungenRequirements

-Routine zurückgegebener WertRoutine Erforderlicher HeaderRequired header
memcmpmemcmp <memory.h> oder <string.h><memory.h> or <string.h>
wmemcmpwmemcmp <wchar.h>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Compatibility.For additional compatibility information, see Compatibility.

BibliothekenLibraries

Alle Versionen der C-Laufzeitbibliothek.All versions of the C run-time library.

BeispielExample

// crt_memcmp.c
/* This program uses memcmp to compare
* the strings named first and second. If the first
* 19 bytes of the strings are equal, the program
* considers the strings to be equal.
*/

#include <string.h>
#include <stdio.h>

int main( void )
{
   char first[]  = "12345678901234567890";
   char second[] = "12345678901234567891";
   int int_arr1[] = {1,2,3,4};
   int int_arr2[] = {1,2,3,4};
   int result;

   printf( "Compare '%.19s' to '%.19s':\n", first, second );
   result = memcmp( first, second, 19 );
   if( result < 0 )
      printf( "First is less than second.\n" );
   else if( result == 0 )
      printf( "First is equal to second.\n" );
   else
      printf( "First is greater than second.\n" );

   printf( "Compare '%d,%d' to '%d,%d':\n", int_arr1[0], int_arr1[1], int_arr2[0], int_arr2[1]);
   result = memcmp( int_arr1, int_arr2, sizeof(int) * 2 );
   if( result < 0 )
      printf( "int_arr1 is less than int_arr2.\n" );
   else if( result == 0 )
      printf( "int_arr1 is equal to int_arr2.\n" );
   else
      printf( "int_arr1 is greater than int_arr2.\n" );
}
Compare '1234567890123456789' to '1234567890123456789':
First is equal to second.
Compare '1,2' to '1,2':
int_arr1 is equal to int_arr2.

Weitere InformationenSee also

Puffer BearbeitungBuffer Manipulation
_memccpy_memccpy
memchr, wmemchrmemchr, wmemchr
memcpy, wmemcpymemcpy, wmemcpy
memset, wmemsetmemset, wmemset
strcmp, wcscmp, _mbscmpstrcmp, wcscmp, _mbscmp
strncmp, wcsncmp, _mbsncmp, _mbsncmp_lstrncmp, wcsncmp, _mbsncmp, _mbsncmp_l