strncmp, _mbsncmp, wcsncmp
Nach oben zu string.h - Index
Header-Datei
string.h, mbstring.h
Kategorie
Routinen für Speicher- und String-Bearbeitung, Inline-Routinen
Prototyp
int strncmp(const char *s1, const char *s2, size_t maxlen);
int wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t maxlen);
int _mbsncmp(const unsigned char *s1, const unsigned char *s2, size_t maxlen);
#define _mbccmp(__s1, __s2) _mbsncmp((__s1),(__s2),1)
Beschreibung
Vergleicht einen Teil eines String mit einem Teil eines anderen.
strncmp vergleicht auf gleiche, Vorzeichen nicht berücksichtigende Weise wie strcmp, jedoch nicht mehr als maxlen Zeichen. Der Vergleich beginnt mit dem ersten Zeichen eines jeden Strings und wird mit den folgenden Zeichen fortgesetzt, bis sich die jeweiligen Zeichen unterscheiden oder maxlen Zeichen verglichen wurden.
Rückgabewert
- strncmp gibt einen auf dem Ergebnis des Vergleichs von s1 (oder eines Teils davon) mit s2 (oder eines Teils davon) basierenden Integerwert zurück:
- < 0, wenn s1 kleiner s2 ist
- == 0, wenn s1 gleich s2 ist
- > 0, wenn s1 größer s2 ist
Beispiel
#include <string.h>
#include <stdio.h>
int main(void)
{
char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";
int ptr;
ptr = strncmp(buf2,buf1,3);
if (ptr < 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");
ptr = strncmp(buf2,buf3,3);
if (ptr < 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++ | |
---|---|---|---|---|
strncmp |
+ |
+ |
+ |
+ |
_mbsncmp |
+ |
|||
_mbccmp |
+ |
|||
wcsncmp |
+ |
+ |
+ |