Wchar_t *をconst char *に変換する方法

私はC ++の新種で、Windows CEのコンパチブルアプリケーションで作業しています。

ファイルにhexaデータを書き込もうとしています

CString dataBlock1;
dataBlock1 = "";

CString temp;
for(int i = 0; i < rLen; i++)
{
temp.Format(L"%02X ",rec[i]);
dataBlock1 += temp;

}

std::ofstream out(file);

私はこのエラーがwchar *からconst char *にパラメータ1を変換できない場合があります* 次のwrite関数を使用してファイルにhexaデータを書き込む

out.write(myReader.dataBlock1.GetBuffer(),myReader.dataBlock1.GetLength());

どのようにwchar_ *をconst char *に変換して、書込み関数を機能させることができますか?

ありがとう。

7
'wchar_t *'を 'const char *'に変換する方法。それは重複した質問だけでなく、 CString を使っても同じタイトルでもあります。
追加された 著者 tenfour,

2 答え

ここを参照して、 wcstombs 関数を使用することができます>。

3
追加された
win32に相当するものはありますか?
追加された 著者 Mohammadreza Panahi,
これはうまくいくようです.. Thax Thax
追加された 著者 saroll,

Windowsには、UTF-16として保存されたテキストであるwchar_tと、ANSI文字セットに格納されたテキストであるcharが使用される一連のクラスと関数があります。 wchar_tへのポインタがある場合は、wchar_tを受け入れる適切なクラスまたは関数を使用するか、データをANSI文字セットに変換する必要があります。

この場合、ofstream、wofstreamのwchar_tバリアントが必要です。

1
追加された