Функцията 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