_mbsbtype
Nach oben zu string.h - Index
Header-Datei
mbstring.h
Kategorie
Klassifizierungsroutinen
Prototyp
int _mbsbtype(const unsigned char *str, size_t nbyte);
Beschreibung
Das Argument nbyte gibt die Anzahl von Bytes am Anfang eines nullterminierten Strings an.
Die Funktion _mbsbtype ermittelt durch Überprüfung des Arguments str, ob das Byte an der von nbyte angegebenen Position ein Einzelbyte-Zeichen oder das führende bzw. nachstehende Byte eines Multibyte-Zeichens ist. Die Funktion _mbsbtype kann ermitteln, ob das referenzierte Byte ein ungültiges Zeichen oder ein NULL-Byte ist.
Ungültige Bytes, die in str vor nbyte stehen, werden ignoriert.
Rückgabewert
Der von _mbsbtype zurückgegebene Wert entspricht einem der folgenden, in mbctype.h definierten konstanten Ausdrücken.
Beispiel
#include <mbstring.h>
#include <mbctype.h>
int count_chars(char* input)
{
int type, i = 0, chars = 0;
while (input[i])
{
/* Obtain the type of the i-th char in the string */
type = _mbsbtype(input, i);
/* Consider single and MBCS chars as whole chars */
switch (type) {
case _MBC_LEAD:
case _MBC_SINGLE:
chars++;
break;
case _MBC_ILLEGAL:
return -1;
}
i++;
}
/* The number of chars */
return chars;
}