_mbbtype
Nach oben zu String.h - Index
Header-Datei
mbstring.h
Kategorie
Klassifizierungsroutinen
Prototyp
int _mbbtype(unsigned char ch, int mode);
Beschreibung
Die Funktion _mbbtype prüft, ob das als Argument ch übergebene Zeichen ein Einzelbyte-Zeichen oder das führende bzw. nachstehende Byte eines Multibyte-Zeichens ist. Die Funktion _mbbtype kann ermitteln, ob ch ein ungültiges Zeichen ist.
Rückgabewert
Der Rückgabewert hängt vom Wert von ch sowie von der an ch durchzuführenden Prüfung ab.
Der von _mbbtype zurückgegebene Wert entspricht einem der folgenden, in mbctype.h definierten konstanten Ausdrücke:
Wert von mode | Wert von ch | Durchgeführter Test | Rückgabewert |
---|---|---|---|
mode != 1 |
Einzel-Byte |
Gültiges Einzel- oder führendes Byte |
_MBC_SINGLE |
mode != 1 |
Führendes Byte |
Gültiges Einzel-Byte des führenden Byte |
_MBC_LEAD |
mode = 1 |
Nachstehendes Byte |
Gültiges Einzel- oder nachstehendes Byte |
_MBC_TRAIL |
Beliebiger Wert |
Beliebiger Wert |
Gültiges Zeichen |
_MBC_ILLEGAL |
Beispiel
#include <mbstring.h> #include <mbctype.h> int count_chars(char* input) { int last_type = 0; int chars = 0; while (*input) { /* Den Typ des aktuellen char auf der Basis des Typs des letzten ermitteln */ last_type = _mbbtype(*input, last_type); /* Einzel- und MBCS-Zeichen als ganz Zeichen behandeln. Bei ungültigen Zeichen mit -1 beenden */ switch (last_type) { case _MBC_LEAD: case _MBC_SINGLE: chars++; break; case _MBC_ILLEGAL: return -1; } input++; } /* Die Anzahl der berechneten Zeichen */ return chars; }