C언어/C언어 예제

[C언어 소스] mblen 함수 사용 예제 코드 (멀티 바이트 문자의 유효성을 확인하고 길이 구함)

언제나휴일 2016. 5. 5. 12:14
반응형

[C언어 소스] mblen 함수 사용 예제 코드


//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>

 

언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형