Visual Studio 2005 부터는 프로젝트의 기본 설정이 Unicode 기반으로 설정되어 있다.

따라서 문자열 대입시에 신경을 좀 더 써 주어야 한다.

간단하게 UNICODE 를 ASCII 코드로 바꾸는 일은 USES_CONVERSION; 매크로를 활용하면 쉽다.

변경하고자 하는 위치에 USES_CONVERSION; 을 입력하고 입맛에 맛는 매크로 함수를 호출하기만 하면 된다.


아주 간편해서 좋은데 문제점을 안고 있는 방법이다. 왜 그런지는 자세히 파악이 되지 않았지만 위의 매크로 함수들은 메모리 활용면에서 비효율적인 문제가 있다고 한다. 간단하게 사용하는건 무리가 없는데 한번에 많은 수(10000번이상)의 변환에 이용하게되면 문제가 발생하기도 하였다.
실제로 32비트 프로젝트에서 아무런 문제가 발생하지 않았는데 이를 64비트로 변환시에 위의 함수를 사용하는 곳에서 문제가 발생하였다.

그래서 API를 활용하는 방법으로 바꾸어 사용을 하였다.
API를 이용한 문자형식 변경은 다음 두 함수를 이용하는 것이다.

사용방법.
 

MSDN - ATL and MFC String Conversion Macros
MSDN - MultiByteToWideChar
MSDN - WideCharToMultiByte
Posted by NeoDreamer
:
BLOG main image
사람의 발목을 잡는건 '절망'이 아니라 '체념'이고 앞으로 나아가게 하는건 '희망'이 아니라 '의지'다. - 암스 중에서 - by NeoDreamer

공지사항

카테고리

전체보기 (793)
Life Story (1)
Thinking (2)
Nothing (5)
---------------* (0)
Dev Story (701)
Com. Story (80)
IT Story (1)
---------------+ (0)
Etc (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :
05-08 06:56