mblen
헤더 파일
[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - stdlib.h
int mblen(const char *s, size_t n); 멀티 바이트 문자의 유효성을 확인하고 길이 구함
입력 매개 변수 리스트
s 문자가 있는 주소
n 검사할 길이(MB_CUR_MAX를 주로 사용)
반환 값
멀티 바이트 문자로 표현할 때 차지하는 바이트 수(1, 2), 널문자는 0, 유효하지 않으면 -1
 
mblen 유니코드 문자가 멀티 바이트 문자로 유효한지 확인하거나 차지하는 바이트 수를 반환합니다. 
다음은 Microsoft Visual Studio 2015로 확인했을 때 나오는 결과입니다.
 
사용 예
//C언어 표준 라이브러리 함수 사용법 가이드
//int mblen(const char *s, size_t n); 멀티 바이트 문자의 유효성을 확인하고 길이 구함
//멀티 바이트 문자를 유니코드로 변환할 때 2 바이트 필요한 문자를 변환하여 출력
#include <locale.h>
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    int  i;
    int len;
    char *str = "기억나abc나비야";
    wchar_t wc;
 
    setlocale(LC_ALL, "Korean");//로케일 설정
    for (i = 0; i < strlen(str);i++)
    {
        len = mblen(str+i, MB_CUR_MAX);//유니코드로 변환할 때 차지하는 바이트 수
        if (len == 1)
        {
            printf("<%c:%d> ", str[i], len);
        }
        if (len == 2)
        {
            mbtowc(&wc, str + i, 2);//유니코드 문자로 변환
            printf("<%lc:%d> ", wc, len);
            i++;
        }
    }    
    printf("\n");
    return 0;
}
 
출력
<기:2> <억:2> <나:2> <a:1> <b:1>< c:1> <나:2> <비:2>< 야:2>
사용한 함수
'언어 자료구조 알고리즘 > C11 표준 라이브러리 함수' 카테고리의 다른 글
| mbstowbs_s 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
|---|---|
| mbstowcs 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| wctomb_s 함수 [표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| wctomb 함수 [표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| mbtowc 함수 [표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| lldiv 함수 [표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| ldiv 함수 [표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| div 함수 [표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| llabs 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 | 
| labs 함수 [C언어 표준 라이브러리 함수 가이드] (0) | 2016.01.03 |