문자열 변환 매크로

여기서 설명 하는 문자열 변환 매크로 ATL 및 MFC에 대 한 유효 합니다. 자세한 내용은 MFC 문자열 변환에 대 한 참조 TN059: MFC MBCS/유니코드 변환 매크로 사용 하 여 및 MFC 매크로 및 전역을。

문자열 변환 매크로의 구문은:

은 ( string_address )

예를 들어:

A2W(lpa)

매크로 이름에 원본 문자열 형식 (예를 들어, A) 왼쪽에 이며 대상 문자열 형식 (예를 들어, W) 오른쪽에. A LPSTR, OLE 의미 LPOLESTR, LPTSTR, T 의미 및 LPWSTR W 의미에 대 한 의미。

따라서, A2W LPWSTR LPSTR 변환, OLE2T LPOLESTR 는 LPTSTR를 변환 합니다.

대상 문자열이 대상 형식을 BSTR경우를 제외 하 고 _alloca를 사용 하 여 만들어집니다. 함수 반환 될 때 그것은 자동으로 정리 되도록를 스택에서 메모리를 할당 _alloca 를 사용 하 여。

매크로 이름에는 C , const 문자열 매크로 변환 합니다. 예를 들어, W2CA LPCSTR LPWSTR 변환。

메모nbsp;??ATL 문자열 변환 매크로 사용 하는 경우 컴파일러 오류가 발생 하지 않도록 하려면 USES_CONVERSION 매크로 함수 시작 부분에서 지정 합니다. 예를 들어(&N):

void func (LPSTR lpsz)
{
 nbsp; USES_CONVERSION;
 ? ...
 ? LPWSTR x A2W(lpsz) =
 ? / / X 뭔가
 ? ...
}(&N)

ATL 문자열 변환 매크로의 동작 있으면 컴파일러 지시문을 효과에 따라 달라 집니다. 원본 및 대상 유형에 동일한 경우 변환이 이루어진다. 컴파일러 지시문 T 및 OLE 다음과 같이 변경:

효과에서 컴파일러 지시문 T 된다 OLE 된다
없음 A W
_UNICODE W W
OLE2ANSI A A
_UNICODE 및 OLE2ANSI W A

다음 표에서 ATL 문자열 변환 매크로。

ATL 문자열 변환 매크로

A2BSTR OLE2A T2A W2A
A2COLE OLE2BSTR T2BSTR W2BSTR
A2CT OLE2CA T2CA W2CA
A2CW OLE2CT T2COLE W2COLE
A2OLE OLE2CW T2CW W2CT
A2T OLE2T T2OLE W2OLE
A2W OLE2W T2W W2T

ATL 매크로 및 전역 함수

참고 항목

DEVMODE와 TEXTMETRIC 문자열 변환 매크로

Index