将itoa与TCHAR一起使用

Using itoa with a TCHAR

本文关键字:一起 TCHAR itoa      更新时间:2023-10-16

我有一个支持UNICODE的Win32 C++应用程序。我在使用itoa()函数时遇到了一个问题,但我收到了一个编译错误,因为我传递的参数是TCHAR*,而不是char*。

我该怎么做才能让它正常工作?

TCHAR buf[32];
itoa( taskState, buf, 10 );

对于TCHAR字符串,应该使用_tto()。

我们没有充分的理由使用TCHAR,除非您的目标是在DLL中使用MFC的Windows 9x,并且您有点害怕重建MFC。只需使用wchar_t

然后阅读微软的itoa文档。

在那里,您可以找到至少一个可以与wchar_t字符串一起使用的变体。

使用itoa系列通常不是一个好主意,但您还处于尚未学会查找文档的阶段。

所以,这就是你应该做的:检查文档(是的,我已经检查过了,它就在那里)。


附录,截至2015年4月:自2011年年中以来,我们已经批准了C++11和C++14标准,编译器现在通常支持<string>标头中的C++11 std::towstring函数;它和CCD_ 8一样方便而且更安全。

正如Adam Pierce所提到的,_itoa()的TCHAR版本是_itot(),您可以在这里找到它:http://msdn.microsoft.com/en-us/library/yakksftt(v=vs.80).aspx