C ++ mblen () - Стандартная библиотека C ++

Функция mblen () в C ++ определяет размер (в байтах) многобайтового символа.

Функция mblen () определена в заголовочном файле.

прототип mblen () (в соответствии со стандартом C ++ 11)

 int mblen (const char * s, size_t max);

Функция mblen () принимает два аргумента s и max и возвращает целочисленное значение. Указатель s указывает на первый байт многобайтового символа, размер которого возвращается функцией.

mblen () Параметры

  • s: указатель на первый байт многобайтового символа или нулевой указатель.
  • max: Максимальное количество байтов в s, которое может быть исследовано.

mblen () Возвращаемое значение

Если s является нулевым указателем, вызов mblen () сбрасывает его внутреннее состояние преобразования для представления начального состояния сдвига и возвращает:

  • 0, если текущая многобайтовая кодировка не зависит от состояния (не использует последовательности сдвига).
  • ненулевое значение, если текущая многобайтовая кодировка зависит от состояния (использует последовательности сдвига).

Если s не является нулевым указателем, функция mblen () возвращает:

  • количество байтов, содержащихся в многобайтовом символе.
  • -1, если первые байты, на которые указывает s, не образуют допустимый многобайтовый символ.
  • 0, если s указывает на нулевой символ ' 0'.

Пример: как функция mblen () работает в C ++?

 #include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )

Когда вы запустите программу, вывод будет:

 Длина многобайтового символа: 1

Интересные статьи...