正如标题所示,我想知道将int
转换为const wchar_t*
的最佳方法。实际上,我想使用_tcscpy
函数
_tcscpy(m_reportFileName, myIntValue);
发布于 2013-02-27 18:36:14
由于您使用的是C方法(我假设m_reportFileName
是一个原始的C wchar_t
数组),因此您可能希望直接考虑使用swprintf_s()
:
#include <stdio.h> // for swprintf_s, wprintf
int main()
{
int myIntValue = 20;
wchar_t m_reportFileName[256];
swprintf_s(m_reportFileName, L"%d", myIntValue);
wprintf(L"%s\n", m_reportFileName);
}
在更现代的C++方法中,您可以考虑使用std::wstring
而不是原始的wchar_t
数组和进行转换。
发布于 2013-02-27 18:45:25
在C++11
中
wstring value = to_wstring(100);
C++11
之前
wostringstream wss;
wss << 100;
wstring value = wss.str();
发布于 2013-02-27 18:19:54
这不是“转换”。这是一个分为两步的过程:
在调用中使用wide characters.
第一件事可以使用StringCbPrintf()
来完成,假设你在构建时启用了宽字符。
当然,您也可以选择将字符串直接格式化为m_reportFileName
,这样就不需要完全复制了。
https://stackoverflow.com/questions/15109469
复制相似问题