Latest web development tutorials
×

C курс

C Язык учебника C Краткое введение C параметры окружающей среды C Структура программы C Базовый синтаксис C Типы данных C переменная C постоянная C Storage Class C операторы C судья C циркуляция C функция C Обзорное правила C массив C указатель C строка C структура C союз C поле Bit C typedef C Входной и Выходной C грамотность документов C препроцессор C заголовок C Слепки C Обработка ошибок C Рекурсия C Переменный параметр C Управление памятью C Параметры командной строки C Классические 100 случаев

C Стандартная библиотека

C Стандартная библиотека - справочное руководство C Стандартная библиотека - <assert.h> C Стандартная библиотека - <ctype.h> C Стандартная библиотека - <errno.h> C Стандартная библиотека - <float.h> C Стандартная библиотека - <limits.h> C Стандартная библиотека - <locale.h> C Стандартная библиотека - <math.h> C Стандартная библиотека - <setjmp.h> C Стандартная библиотека - <signal.h> C Стандартная библиотека - <stdarg.h> C Стандартная библиотека - <stddef.h> C Стандартная библиотека - <stdio.h> C Стандартная библиотека - <stdlib.h> C Стандартная библиотека - <string.h> C Стандартная библиотека - <time.h>

Функции библиотеки C - mblen ()

C стандартная библиотека - <stdlib.h> C стандартная библиотека - <stdlib.h>

описание

Функции библиотеки CINT mblen (Const символ * Str, size_t N) возвращает длину аргумента точек Strдля многобайтных символов.

заявление

Здесь mblen () объявление функции.

int mblen(const char *str, size_t n)

параметры

  • ул - указывает на первый байт указателя символов многобайтовой.
  • Максимальное количество байт , чтобы проверить длину символов- п.

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

Если идентификация ненулевым широкий характер, функция mblen () возвращает число байтов последовательности многобайтовой ул начать разбор. Если определить нулевой символ, она возвращает 0. Если идентифицировать недопустимую последовательность многобайтную, или не может разобрать полный многобайтовый характер, возвращается -1.

примеров

Следующий пример демонстрирует mblen () используется функция.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   int len;
   char *pmbnull  = NULL;
   char *pmb = (char *)malloc( MB_CUR_MAX );
   wchar_t *pwc = L"Hi";
   wchar_t *pwcs = (wchar_t *)malloc( sizeof( wchar_t ));

   printf("转换为多字节字符串\n");
   len = wcstombs( pmb, pwc, MB_CUR_MAX);
   printf("被转换的字符 %d\n", len);
   printf("第一个多字节字符的十六进制值:%#.4x\n", pmb);
   
   len = mblen( pmb, MB_CUR_MAX );
   printf( "多字节字符 %x 的字节长度:%u\n", pmb, len );
   
   pmb = NULL;
   
   len = mblen( pmb, MB_CUR_MAX );
   printf( "多字节字符 %x 的字节长度:%u\n", pmb, len );
   
   return(0);
}

Давайте скомпилировать и запустить эту программу, которая приведет к следующему:

转换为多字节字符串
被转换的字符 1
第一个多字节字符的十六进制值:0x168c6010
多字节字符 168c6010 的字节长度:1
多字节字符 0 的字节长度:0

C стандартная библиотека - <stdlib.h> C стандартная библиотека - <stdlib.h>