Функція 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