将 int 转换为 const wchar_t\*

新手上路,请多包涵

正如标题所示,我想知道将 int const wchar_t* 最佳方法。实际上我想使用 _tcscpy 功能

_tcscpy(m_reportFileName, myIntValue);

原文由 Kira 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

由于您使用的是 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 进行转换。

原文由 Mr.C64 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

  1. 使用宽字符将数字格式化为字符串。
  2. 在调用中使用字符串的地址。

第一件事可以使用例如 StringCbPrintf() 来完成,假设您正在构建启用宽字符。

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

原文由 unwind 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题