Функција мблен () у Ц ++ одређује величину (у бајтовима) вишебајтног карактера.
Функција мблен () је дефинисана у датотеци заглавља.
мблен () прототип (од Ц ++ 11 стандарда)
инт мблен (цонст цхар * с, сизе_т мак);
Функција мблен () узима два аргумента с и мак и враћа целобројну вредност. Показивач с показује на први бајт вишебајтног карактера чију функцију враћа величина.
мблен () Параметри
- с: Показивач на први бајт вишебајтног карактера или нулти показивач.
- мак: максималан број бајтова у с који се може испитати.
мблен () Повратна вредност
Ако је с нулл показивач, позив мблен () ресетује своје унутрашње стање конверзије да представља почетно стање померања и враћа:
- 0 ако тренутно вишебајтно кодирање не зависи од стања (не користи секвенце померања).
- не-нула вредност ако је тренутно вишебајтно кодирање зависно од стања (користи секвенце смена).
Ако с није нулл показивач, функција мблен () враћа:
- број бајтова који се налазе у вишебајтном знаку.
- -1 ако први бајтови на које указује с не чине ваљани вишебајтни знак.
- 0 ако с показује на нулти знак ' 0'.
Пример: Како функција мблен () ради у Ц ++?
#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