将int转换为const wchar_t *

时间:2013-02-27 10:16:47

标签: c++

正如标题所示,我想知道将int转换为const wchar_t*的最佳方法。 实际上我想使用_tcscpy函数

_tcscpy(m_reportFileName, myIntValue);

3 个答案:

答案 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)

那不是“转换”。这是一个两步过程:

  1. 使用宽字符将数字格式化为字符串。
  2. 使用通话中字符串的地址。
  3. 首先可以使用例如StringCbPrintf(),假设你正在使用宽字符构建。

    当然,您可以选择将字符串格式化为m_reportFileName,无需完全复制。

答案 2 :(得分:2)

C++11

wstring value = to_wstring(100);

预 - C++11

wostringstream wss;
wss << 100;
wstring value = wss.str();