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

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