2012-12-07 6 views
2

TCHAR * 변수를 char * 변수로 변환하려고합니다. 이것이 필수적이기 때문에 나는 이것을하고 있습니다. 또한이 회심이 어떻게 이루어질 지 궁금 해서요. 네가 나를 도울 수 있으면 정말 고마워. 저는 C++ 초보자입니다.TCHAR * to char * C++ 변환

감사합니다.

+0

Win32 API를 사용하고 있다고 가정합니다. 그 맞습니까? – Asha

+0

[무엇을 시도해 봤습니까?] (http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

+0

[아마도이 질문] (http://stackoverflow.com/questions/1721731)/how-to-convert-tchar-pointer-to-char-pointer) 또는 [이 질문에] (http://stackoverflow.com/questions/1613217/how-do-i-convert-from-tchar-to- char-when-c-variable-length-args) – Pavenhimself

답변

1

TCHAR은 프로젝트 설정에 따라 정의됩니다. 프로젝트에서 멀티 바이트를 사용하는 경우 이미 char입니다. 유니 코드 인 경우 WideCharToMultiByte을 사용하여 변환합니다. 프로젝트가 멀티 바이트인지 또는 유니 코드인지 확인하려면 #ifdef UNICODE을 수행 할 수 있습니다. 예 :

#ifdef UNICODE 
// TCHAR is unicode, convert to char 
WideCharToMultiByte(...) 
#else 
// TCHAR is already char, do nothing 
#endif 
+0

물론 코드를 읽을 수 없습니다. 이것은 왜 'TCHAR'를 사용하는 것이 나쁜 생각인지 보여주는 좋은 예입니다. 'wchar_t'와'char'를 다루기 위해서는 다른 코드가 필요합니다. 유형을 변경하는 것만으로는 충분하지 않습니다. –