>백엔드 개발 >C++ >유니코드 MFC 응용 프로그램에서 CString을 `const char*`로 변환하는 방법은 무엇입니까?

유니코드 MFC 응용 프로그램에서 CString을 `const char*`로 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-26 11:38:03827검색

How to Convert a CString to `const char*` in Unicode MFC Applications?

유니코드 MFC 애플리케이션에서 CString을 const char*로 변환

CString을 유니코드(TCHAR)에서 ASCII(const char*)로 변환하는 것은 유니코드 MFC 애플리케이션에서 레거시 코드 또는 외부 라이브러리와 상호 작용하는 데 필수적입니다. 이를 달성하는 방법은 다음과 같습니다.

CT2A 매크로 사용

CT2A 매크로는 유니코드 CString을 ASCII로 변환하는 편리한 방법을 제공합니다. CString을 인수로 사용하고 선택적 두 번째 인수를 사용하여 코드 페이지를 지정합니다. 기본적으로 로컬 코드 페이지를 사용합니다.

<code class="cpp">// Convert using the local code page
CString str(_T("Hello, world!"));
CT2A ascii(str);
TRACE(_T("ASCII: %S\n"), ascii.m_psz);</code>

추가 사용 사례

CT2A 매크로를 사용하여 유니코드 CString을 UTF8 또는 기타 형식으로 변환할 수도 있습니다. 다른 Windows 코드 페이지:

<code class="cpp">// Convert to UTF8
CString str(_T("Some Unicode goodness"));
CT2A ascii(str, CP_UTF8);
TRACE(_T("UTF8: %S\n"), ascii.m_psz);

// Convert to Thai code page
CString str(_T("Some Thai text"));
CT2A ascii(str, 874);
TRACE(_T("Thai: %S\n"), ascii.m_psz);</code>

CA2T 매크로 및 호환성

ASCII를 유니코드로 변환하는 보완 CA2T 매크로도 있습니다. CT2A 및 CA2T 매크로는 모두 Visual Studio 2003 이상이 설치된 ATL/WTL 애플리케이션에서 사용할 수 있습니다.

추가 리소스

이러한 매크로에 대한 자세한 정보는 코드 페이지 변환에 대해서는 MSDN(Microsoft Developer Network)을 참조하세요.

위 내용은 유니코드 MFC 응용 프로그램에서 CString을 `const char*`로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.