본문 바로가기

Programming/WinAPI

MultiByteToWideChar 사용

ㅁ 사용방법(Char -> WCHAR(유니코드형식))

char*  test = L"Test";
TCHAR*  wcTest;

//먼저 사이즈를 알아내서 메모리를 할당한다.
int nLen = MultiByteToWideChar(CP_ACP, 0, test, strlen(test), NULL, NULL);
wcTest = (TCHAR*)calloc(nLen*sizeof(TCHAR));

//스트링을 변환한다.
MultiByteToWideChar(CP_ACP, 0, test, strlen(test), wcTest, nLen*sizeof(TCHAR));



ㅁ 사용예제(접속한 주소값 알아내기)

char*  ConnectUserAddr = ::inet_ntoa( fromAddr.sin_addr );

int iSrcLength = strlen( ConnectUserAddr ) + 1 ;


int iDestSize = MultiByteToWideChar(CP_ACP, 0, test, iSrcLength, NULL, 0);

WCHAR* wcConnectUserAddr = (WCHAR*)_alloca(iDestSize*sizeof(WCHAR));

MultiByteToWideChar(CP_ACP, 0, ConnectUserAddr, iSrcLength, wcConnectUserAddr, iDestSize);

반응형