_mbbtype

Aus RAD Studio
Wechseln zu: Navigation, Suche

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; 
}