Ц ++ мбрлен () - Ц ++ стандардна библиотека

Функција мбрлен () у Ц ++ одређује величину у бајтовима вишебајтног карактера.

Функција мбрлен () је дефинисана у датотеци заглавља.

мбрлен () прототип

 сизе_т мбрлен (цонст цхар * с, сизе_т н, мбстате_т * пс);

Функција мбрлен () испитује низ на чији први бајт показује с и одређује његову величину у бајтовима за тренутно стање конверзије пс. Испитује се највише н бајтова у с.

мбрлен () Параметри

  • с: Показивач на први бајт вишебајтног низа за испитивање.
  • н: Максималан број бајтова у с за испитивање.
  • пс: Показивач на мбстате_т објекат који дефинише стање конверзије.

мбрлен () Повратна вредност

Функција мбрлен () враћа:

  • Број бајтова који завршавају важећи вишебајтни знак.
  • 0 ако с показује на нулти знак.
  • -1 долази до грешке у кодирању.
  • -2 ако следећих н бајтова не представља комплетан вишебајтни знак.

Пример: Како функционише функција мбрлен ()?

 #include #include #include using namespace std; void test_mbrlen(const char *s, size_t n) ( mbstate_t ps = mbstate_t(); int retVal = mbrlen(s, n, &ps); if (retVal == -2) cout << "Next " << n << " byte(s) doesn't represent a complete multibyte character" << endl; else if (retVal == -1) cout << "Next " << n << " byte(s) doesn't represent a valid multibyte character" << endl; else cout << "Next " << n << " byte(s) of " << s << " holds " << retVal << " byof multibyte character" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); char str() = "u00b5"; test_mbrlen(str, 1); test_mbrlen(str, 5); return 0; )

Када покренете програм, излаз ће бити:

 Следећих 1 бајт (ови) не представљају комплетан вишебајтни знак Следећих 5 бајтова (а) од µ садржи 2 бајта вишебајтног карактера

Занимљиви Чланци...