20

intタイトルが示すように、をに変換する最良の方法を知りたいですconst wchar_t*_tcscpy実際に関数を使いたい

_tcscpy(m_reportFileName, myIntValue);
4

4 に答える 4

12

C のアプローチを使用しているため(生のC配列m_reportFileNameであると想定しています)、直接検討することをお勧めします。wchar_tswprintf_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_tstd::to_wstring

于 2013-02-27T10:36:13.800 に答える
6

C++11

wstring value = to_wstring(100);

C++11:

wostringstream wss;
wss << 100;
wstring value = wss.str();
于 2013-02-27T10:45:25.473 に答える
2

それは「変換」ではありません。これは 2 段階のプロセスです。

  1. ワイド文字を使用して、数値を文字列にフォーマットします。
  2. 呼び出しで文字列のアドレスを使用します。

StringCbPrintf()最初のことは、ワイド文字を有効にしてビルドしていると仮定して、eg を使用して達成できます。

もちろん、文字列を直接 にフォーマットすることを選択しm_reportFileNameて、コピーを完全に行う必要をなくすことができます。

于 2013-02-27T10:19:53.673 に答える