블로그는 나의 힘!
[ Programing ]/C++2020. 4. 7. 16:11

//wchar_t 에서 char 로의 형변환 함수

char* ConvertWCtoC( const wchar_t* str )
{
     //반환할 char* 변수 선언
     char* pStr;

 

     //입력받은 wchar_t 변수의 길이를 구함
     int strSize = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );

 

     //char* 메모리 할당
     pStr = new char[strSize];

 

     //형 변환
     WideCharToMultiByte( CP_ACP, 0, str, -1, pStr, strSize, 0, 0 );
     return pStr;
}

 

//char 에서 wchar_t 로의 형변환 함수

wchar_t* ConverCtoWC( const char* str )
{
     //wchar_t형 변수 선언
     wchar_t* pStr;

 

     //멀티 바이트 크기 계산 길이 반환
     int strSize = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, NULL );

 

     //wchar_t 메모리 할당
     pStr = new WCHAR[strSize];

 

     //형 변환
     MultiByteToWideChar( CP_ACP, 0, str, strlen( str ) + 1, pStr, strSize );
     return pStr;

}

 

 

출처 : blog.naver.com/PostView.nhn

 

wchar <-> char 변환

char는 1 Byte에 signed(부호있는) 정수로 취급unicode 문자 wchar_t는 unsigned short(부호없는 2 Byte ...

blog.naver.com

 

'[ Programing ] > C++' 카테고리의 다른 글

C++ union  (0) 2020.06.05
IOCP 선언.  (0) 2020.06.03
C++ 11이상 STL vector erase() 오류시 Exception 관련  (0) 2020.03.05
C++ 현재 시간 구하기.  (0) 2019.12.04
random_shuffle 시드 사용.  (0) 2019.11.22
Posted by Mister_Q