_mbsbtype

Aus RAD Studio
Wechseln zu: Navigation, Suche

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