char* UTF8ToANSI(const char *pszCode)

{

BSTR    bstrWide;

char*   pszAnsi;

int     nLength;


// bstrWide 배열 생성 Lenth를 읽어 온다.

nLength = MultiByteToWideChar(CP_UTF8, 0, pszCode, lstrlen((LPCWSTR)pszCode) * 3 + 1, NULL, NULL);

// bstrWide 메모리 설정

bstrWide = SysAllocStringLen(NULL, nLength);


MultiByteToWideChar(CP_UTF8, 0, pszCode, lstrlen((LPCWSTR)pszCode) * 3 + 1, bstrWide, nLength);


// char 배열 생성전 Lenth를 읽어 온다.

nLength = WideCharToMultiByte(CP_ACP, 0, bstrWide, -1, NULL, 0, NULL, NULL);

// pszAnsi 배열 생성

pszAnsi = new char[nLength];

// char 변환

WideCharToMultiByte(CP_ACP, 0, bstrWide, -1, pszAnsi, nLength, NULL, NULL);


// bstrWide 메모리 해제

SysFreeString(bstrWide);


return pszAnsi;

}

Posted by 모과이IT
,