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
따라서 문자열 대입시에 신경을 좀 더 써 주어야 한다.
간단하게 UNICODE 를 ASCII 코드로 바꾸는 일은 USES_CONVERSION; 매크로를 활용하면 쉽다.
변경하고자 하는 위치에 USES_CONVERSION; 을 입력하고 입맛에 맛는 매크로 함수를 호출하기만 하면 된다.
아주 간편해서 좋은데 문제점을 안고 있는 방법이다. 왜 그런지는 자세히 파악이 되지 않았지만 위의 매크로 함수들은 메모리 활용면에서 비효율적인 문제가 있다고 한다. 간단하게 사용하는건 무리가 없는데 한번에 많은 수(10000번이상)의 변환에 이용하게되면 문제가 발생하기도 하였다.
실제로 32비트 프로젝트에서 아무런 문제가 발생하지 않았는데 이를 64비트로 변환시에 위의 함수를 사용하는 곳에서 문제가 발생하였다.
그래서 API를 활용하는 방법으로 바꾸어 사용을 하였다.
API를 이용한 문자형식 변경은 다음 두 함수를 이용하는 것이다.
사용방법.
MSDN - ATL and MFC String Conversion Macros
MSDN - MultiByteToWideChar
MSDN - WideCharToMultiByte
'Dev Story > Tips' 카테고리의 다른 글
레지스트리 파일 (.reg) 코딩으로 병합하기 (0) | 2008.07.17 |
---|---|
유니코드와 아스키코드간의 변환 함수 (0) | 2008.07.11 |
VisualSVN Server에 MySQL 과 PHP 붙이기 (0) | 2008.07.02 |
그림으로 보는 간단한 CVS 서버 설치하기 (0) | 2008.06.25 |
32bit 프로젝트 64bit로 전환하기 (0) | 2008.06.24 |