Study/C++
string -> char* -> WCHAR* 타입 변환
붕대마음
2009. 7. 14. 07:15
반응형
WCHAR* szWchar;
char* szChar;
string csString;
csString = "타입 변환하는 방법입니다.";
// string -> char*
szChar = (LPSTR)(LPCSTR)csString.c_str();
// char* -> WCHAR*
// 다음과 같은 방법도 있으나 끝에 쓰레기 값이 같이 출력된다.
// MultiByteToWideChar(CP_ACP, 0, szChar, strlen(szChar), szWchar, strlen(szChar));
// 권장 방법
szWchar = new WCHAR[strlen(szChar)+1];
_swprintf(szWchar, L"%s", CA2W(szChar));
MessageBox(szWchar, _T("변환 완료"), MB_OK);
// 동적으로 생성된 szWchar은 사용 안할시 제거 해줘야 한다.
delete szWchar;
// WCHAR* -> char* 변환
WCHAR pStrId[128] = L"abcdefghidf";
size_t convertedChars = 0;
char nstring[128];
wcstombs_s(&convertedChars, nstring, 128, pStrId, _TRUNCATE);
[출처] string -> char* -> WCHAR* 타입 변환|작성자 뚜비