正如标题所示,我想知道将int
转换为const wchar_t*
的最佳方法。
实际上我想使用_tcscpy
函数
_tcscpy(m_reportFileName, myIntValue);
答案 0 :(得分:7)
由于您使用的是 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
数组和std::to_wstring
进行转换。
答案 1 :(得分:2)
那不是“转换”。这是一个两步过程:
首先可以使用例如StringCbPrintf()
,假设你正在使用宽字符构建。
当然,您可以选择将字符串格式化为m_reportFileName
,无需完全复制。
答案 2 :(得分:2)
在C++11
:
wstring value = to_wstring(100);
预 - C++11
:
wostringstream wss;
wss << 100;
wstring value = wss.str();