C언어/C언어 예제

[C언어 소스] wctomb_s 함수 사용 예제 코드(wctomb 함수의 버퍼 오버플로우 문제 방지)

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

[C언어 소스] wctomb_s 함수 사용 예제 코드(wctomb 함수의 버퍼 오버플로우 문제 방지)


//C언어 표준 라이브러리 함수 사용법 가이드

//errno_t wctomb_s (size_t *pcnt,char * dest,size_t size, wchar_t wc); 와이드 문자를 멀티 바이트 문자로 변환

//와이드 문자를 멀티 바이트 문자로 변환

 

#include <locale.h>

#include <stdlib.h>

#include <stdio.h>

 

int main()

{

    char buffer[100];

    int length;

    int i, j;

    wchar_t warr[10] = L"홍길동abc나비야";

 

    setlocale(LC_ALL, "Korean");//로케일 설정

    for (i = 0, j = 0; i<9; i++)

    {

        wctomb_s(&length,buffer + j,2, warr[i]);///와이드 문자를 멀티바이트 문자로 변환

        j += length;

    }

    buffer[j] = 0;//종료 문자 설정

    printf("%s\n", buffer);

    return 0;

}

 

출력

홍길동abc나비야


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

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

반응형