读书人

怎么一char 化TCHAR 呢

发布时间: 2012-01-24 23:11:54 作者: rapoo

如何一char 化TCHAR 呢
做的一目 需要麽子的功能 呵呵

[解决办法]
看你的编译选择的是什么,unicode才需要转
[解决办法]
TCHAR 是个宏, 它可能是wchar_t,也可能是char,要看UNICODE宏是否定义了

你是不是搞错了
[解决办法]
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_atl_string_conversion_macros.asp
[解决办法]
用宏
A2T
[解决办法]
自己写的代码:
TCHAR* CharToTChar(char* szInput){
_ASSERT(szInput);
#ifdef _UNICODE
return CharToWChar(szInput);
#else
char* szTmp=new char[strlen(szInput)+1];
if(!szTmp)
return 0;

::strcpy(szTmp,szInput);
return szTmp;
#endif
};

wchar_t* CharToWChar(char* szInput){
_ASSERT(szInput);
int cchOutput=::MultiByteToWideChar(CP_ACP,0,szInput,-1,NULL,0);
if(!cchOutput)
return 0;

wchar_t* wszTmp=new wchar_t[cchOutput];
if(!wszTmp)
return 0;

if(!::MultiByteToWideChar(CP_ACP,0,szInput,-1,wszTmp,cchOutput)){
delete[] wszTmp;
return 0;
}
return wszTmp;
};

读书人网 >VC/MFC

热点推荐