私はWindowsCE .net Compact Applicationで作業している間、c ++の一種の新人です。
ヘキサデータをファイルに書き込もうとしている間
CString dataBlock1;
dataBlock1 = "";
CString temp;
for(int i = 0; i < rLen; i++)
{
temp.Format(L"%02X ",rec[i]);
dataBlock1 += temp;
}
std::ofstream out(file);
以下の書き込み関数を使用してヘキサデータをファイルに書き込むときに、パラメータ1をwchar *からconstchar *に変換できないというエラーが発生します
out.write(myReader.dataBlock1.GetBuffer(),myReader.dataBlock1.GetLength());
wchar_ *をconstchar *に変換して、書き込み関数を機能させるにはどうすればよいですか。
ありがとう。
wcstombs
関数を使用できます。参照 ここ 。
Windowsには、UTF-16として格納されているテキストであるwchar_tと、ANSI文字セットに格納されているテキストであるcharを受け取るクラスと関数のセットがあります。 wchar_tへのポインタがある場合は、wchar_tを受け入れる適切なクラスまたは関数を使用するか、データをANSI文字セットに変換する必要があります。
この場合、ofstreamのwchar_tバリアントであるwofstreamが必要です。