mblen()

Высчитать количество байт в многобайтовом символе

Прототип:

#include <stdlib.h>
int mblen( const char *s,
size_t n );

Аргументы:

s
NULL или указатель на многобайтовый символ.
n
Максимальный размер многобайтового символа.

Библиотека:

libc

Описание:

Функция mblen() подсчитывает размер многобайтового символа, начинающегося с s. Максимальный размер символа указывается в аргументе n.

Функция mbrlen() является перезапускаемой версией функции mblen().

Возвращаемое значение:

Примеры:

#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int len;
char *mbs = "string";
printf( "Character encodings do " );
if ( !mblen( NULL, 0 ) )
{
printf( "not " );
}
printf( "have state-dependent \nencoding.\n" );
len = mblen( "string", 6 );
if ( len != -1 )
{
mbs[len] = '\0';
printf( "Multibyte char '%s'(%d)\n", mbs, len );
}
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out Character encodings do not have state-dependent encoding. Multibyte char 's'(1)

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

mbrlen(), mbrtowc(), mbsinit(), mbsrtowcs(), mbstowcs(), mbtowc()




Предыдущий раздел: Описание API системной библиотеки