'W2A'에 해당되는 글 1건

  1. 2008.10.14 ATL and MFC String Conversion Macros - 유니코드와 아스키 변환
2008. 10. 14. 15:58

ATL and MFC String Conversion Macros - 유니코드와 아스키 변환


Visual Studio 6 을 사용할 때는 무조건 ASCII 를 사용했는데,
Visual Studio 2005를 사용하니, 유니코드를 Default로 사용하게 되는 군요.

그런데, 여전히 CFile 이라는 함수의 멤버들은 모두 ASCII 문자 처리를 하니 무척 난감합니다.

char 배열을 만들어서 일일히 옮겨서 썼었는데, 이미 훌륭한 매크로를 제공하고 있더군요.

여러 사이트에서 이미 소개되고 있기도 하죠.

참고 사이트: USES_CONVERSION을 사용하려면

추가로, MSDN을 찾아 보니 위의 제목으로 설명하고 있더군요.

이것도 버젼이 있군요. ATL 3.0 과 ATL 7.0 인데, 차이점은

 Old ATL 3.0 Conversion Macros  New ATL 7.0 Conversioin Classes
 스택을 사용함  작은 문자열은 스택을 사용하고, 스택이 충분히 크지 않으면 Heap을 사용함 
 함수가 종료될 때 문자열이 Free됨  변수의 영역(scope)을 벗어나면 문자열이 Free됨 
 예외처리자를 사용할 수 없음  예외처리자를 사용할 수 있음 
 반복 루틴(Loops)에서 사용하기 적합하지 않음. 함수가 종료할 때까지 메모리가 증가함  반복 루틴에서의 사용을 지원함. 매번의 반복 루틴에서 문자열이 Free됨
 큰 문자열에 적합하지 않음. 스택의 크기 제한에 걸림  문자열이 커도 상관 없음. Stack/Heap을 사용하기 때문
 USES_CONVERSION 정의가 필요함  USES_CONVERSION 정의를 하지 않음
 OLE의 경우에는 OLE2ANSI를 정의  OLE인 경우에는 W와 동등하게 취급함

이군요.

차이점만 봐서는 무조건 ATL 7.0의 classes를 써야 겠군요.

ATL 7.0 에서는

A, W, T , OLE 라는 문자를 조합해서 사용합니다.

사용법은 나중에 시간이 되면, 써 보도록 하죠.

그럼. 근데 문서 만들기 무척 힘들군요. 쉬운 방법 없을까요? 뭐 워드로 만들어서 올린다던가 뭐 그런거요?