将itoa与TCHAR一起使用

问题描述

| 我有一个支持UNICODE的Win32 C ++应用程序。我在使用itoa()函数时遇到问题,但由于我将TCHAR *作为参数而不是char *传递给我,因此出现编译错误。 我该怎么做才能使其正常工作?
TCHAR buf[32];
itoa( taskState,buf,10 );
    

解决方法

        除非您以DLL中的MFC为目标的Windows 9x,否则我们没有充分的理由ѭ1。只需使用
wchar_t
。 然后阅读Microsoftѭ3的文档。 在那里您发现至少可以与
wchar_t
字符串一起使用的变体。 使用use3ѭ系列通常不是一个好主意,但是您还处在尚未学会查找文档的阶段。 因此,这就是您应该做的:检查文档(是的,我已经检查过了,它在那里)。 附录,截至2015年4月:自2011年中以来,我们已经批准了C ++ 11和C ++ 14标准,并且编译器现在通常从
<string>
标头支持C ++ 11
std::towstring
函数。就像3英镑一样方便,而且更安全。     ,        对于TCHAR字符串,应使用_ttoi()。     ,        正如亚当·皮尔斯(Adam Pierce)所述,_itoa()的TCHAR版本是_itot(),您可以在这里找到它: http://msdn.microsoft.com/zh-CN/library/yakksftt(v=vs.80).aspx