Share via


_mbclen, mblen, _mblen_l

길이 가져오고 멀티 바이트 문자의 유효성을 확인 합니다.

중요중요

이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수.

size_t _mbclen(
   const unsigned char *c 
);
int mblen(
   const char *mbstr,
   size_t count 
);
int _mblen_l(
   const char *mbstr,
   size_t count,
   _locale_t locale
);

매개 변수

  • c
    멀티 바이트 문자입니다.

  • mbstr
    멀티 바이트 문자 바이트 시퀀스의 주소입니다.

  • count
    바이트 수를 확인 합니다.

  • locale
    사용 하는 로캘.

반환 값

_mbclen1 또는 2를 반환 여부에 따라 멀티 바이트 문자 c 1 또는 2 바이트 길이입니다.에 대 한 반환 됩니다 오류 _mbclen.경우 mbstr 수 없습니다 NULL, mblen 바이트는 멀티 바이트 문자 길이 반환 합니다.경우 mbstr 는 NULL 또는 와이드 문자 null 문자를 가리키는 mblen 0을 반환 합니다.경우 개체는 mbstr 포인트로 내 첫 번째는 유효한 멀티 바이트 문자를 형성 하지 않습니다 count 자 mblen – 1을 반환 합니다.

설명

_mbclen 함수는 멀티 바이트 문자 바이트 길이 반환 c.경우 c 따라 암시적으로 호출 하 여 멀티 바이트 문자의 선행 바이트를 가리키지 않는 경우 _ismbblead, 결과를 _mbclen 를 예측할 수 없습니다.

mblen길이 바이트 단위로 반환 합니다. mbstr 는 유효한 멀티 바이트 문자 코드 페이지와 관련 된 멀티 바이트 문자 유효성을 확인 하면 됩니다.mblen검사 count 또는 적은 바이트가 포함 된 mbstr, 최대 MB_CUR_MAX 바이트입니다.

출력 값의 설정에 의해 영향을 받지는 LC_CTYPE 범주 설정 로케일입니다. 볼 setlocale 에 대 한 자세한 내용은.없이 이러한 함수 버전을 _l 접미사는 현재 로케일에 대 한이 로케일 종속 동작; 사용 버전으로는 _l 접미사는 대신 전달 로캘 매개 변수를 사용 하는 경우를 제외 하 고 동일 합니다.자세한 내용은 로캘을 참조하십시오.

일반 텍스트 루틴 매핑

Tchar.h 루틴

_UNICODE 및 _mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_tclen

매크로 또는 인라인 함수에 매핑

_mbclen

매크로 또는 인라인 함수에 매핑

요구 사항

루틴

필수 헤더

_mbclen

<mbstring.h>

mblen

<stdlib.h>

_mblen_l

<stdlib.h>

자세한 호환성에 대 한 내용은 호환성 소개에서 합니다.

예제

// crt_mblen.c
/* illustrates the behavior of the mblen function
 */

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

int main( void )
{
    int      i;
    char    *pmbc = (char *)malloc( sizeof( char ) );
    wchar_t  wc   = L'a';

    printf( "Convert wide character to multibyte character:\n" );
    wctomb_s( &i, pmbc, sizeof(char), wc );
    printf( "  Characters converted: %u\n", i );
    printf( "  Multibyte character: %x\n\n", *pmbc );

    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of multibyte character %x: %u\n", *pmbc, i );

    pmbc = NULL;
    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of NULL multibyte character %x: %u\n", pmbc, i );
}

Output

Convert wide character to multibyte character:
  Characters converted: 1
  Multibyte character: 61

Length in bytes of multibyte character 61: 1
Length in bytes of NULL multibyte character 0: 0

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출 하려면 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

문자 분류

로캘

멀티 바이트 문자 시퀀스로 해석

_mbccpy, _mbccpy_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l