C++ A2W() Macro example
C++에서 A2W()매크로 함수를 이용하여 MBCS문자열을 WBCS(Unicode)문자열로 변환하는 예
A2W()를 이용하여 유니코드 문자열을 얻고 유니코드문자열을 구성하는 각 문자의 유니코드 숫자를 버퍼에 나열하여 출력하는 예제
#include <windows.h>
#include <tchar.h>
#include <iostream>
#include <atlconv.h>
using namespace std;
// MBCS문자열을 유니코드문자로 변경하여 그 유니코드 수를 모두 나열한 예
int _tmain(int argc, _TCHAR* argv[])
{
USES_CONVERSION;
char szMult[] = "A가나다B"; // MBCS 문자열
wchar_t *wch = A2W(szMult); // 유니코드문자열로 변환
char string[80];
int n = (int)wch[0]; // 유니코드 한 문자를 정수로 변환
char ch[12];
_itoa(n, ch,10); // 정수를 다시 아스키 문자로 변환
strcpy_s( string, _countof(string), ch ); // 문자화된 정수를 버퍼에 저장한다
for(int i=1;i< lstrlen(wch);i++)
{
n = (int)wch[i];
_itoa(n, ch,10);
strcat_s(string, _countof(string), ch); // 문자화된 정수를 버퍼에 모두 연결하여 저장한다
}
cout << string << endl; // 각 문자의 유니코드 숫자가 모두 연결된 문자열을 출력한다
cout << "끝" << endl;
return 0;
}