ANSI와 UTF-8과의 상호 변환

또 엄청나게 삽질 -.-
이번에는 ANSI <-> UTF-8 문제가 아니라, WideByte 쪽으로 고생 했다

ASP 에서 인자값으로 C++로 넘기는 부분이였는데
VARIANT 타입의 변수를 다루는 것에 뭐 이런게 다있나 하면서 해메고 -_-
그 변수에서의 스트링이 나는 ANSI 나 유니코드로 들어올 줄 알았고 혼자서 삽질을했다

계속 삽질하다가 나중에 char 포인터로 한 바이트씩 디버그해보니까
'<' + '\0' + 'x' + '\0' + 'm' + '\0' + 'l' + '\0' + ......
WideByte 타입 이였었다 -ㅁ-

결국은 답은 간단:
ANSI 코드로 바꿀 경우에는 W2A() 를 쓰고,
유니코드로 바꿀 경우에는 WideCharToMultiByte() 를 쓰면 되더라ㅋ

오랫만에 C++ . . 어렵더라 역시나 공부 좀 할껄 그랬어.. (원래 촘 못한다;)
음 공부 한 것은.. VARIANT 타입에 대해서 조금은 공부했고, (글구 SAFEARRAY 도)
ASP가 보통의 경우에 유니코드, ANSI 이런거 안쓰고 Wide Character 를 쓴다는거 ? ?