将itoa与TCHAR一起使用
Using itoa with a TCHAR
我有一个支持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
相关文章:
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 检查TCHAR数组输入是否为带符号整数C++
- 将 std::allocate_shared 与多态资源分配器一起使用
- 不能将 "void *" 类型的值分配给类型 "TCHAR" 的实体
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 将 exprtk 与自定义类的对象一起使用
- 将 std::set 与基于键的比较器一起使用
- 将 C++ 类与 Rcpp 一起使用,从 C 或 R 修改它
- 我应该将 CString、basic_string <TCHAR>或其他东西与 ATL/WTL 一起使用吗?
- 将itoa与TCHAR一起使用