2011-11-11 35 views
5

ファイルのconst char型へのwchar_t *に変換する方法*

CString dataBlock1; 
dataBlock1 = ""; 

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

} 

std::ofstream out(file); 
にヘキサ件のデータを書き込もうとしている間のWindows CE .NETコンパクトなアプリケーション

に取り組んでいる間、私は、C++用の新しいのようなものです

私たちは、このエラーが

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

どのファイルにヘキサ件のデータを書き込むために、以下の書き込み機能を使用している間にconstのchar型* へのwchar *からパラメータ1を変換することはできません取得していますwchar_ *をconst char *に変換して、write関数を動作させます。

ありがとうございました。

+0

['wchar_t *'を 'const char *'に変換する方法(http://stackoverflow.com/questions/7835119/how-to-convert-wchar-t-to-const-char)それは重複した質問だけでなく、 'CString'を使っているだけでなく、まったく同じタイトルです。 – tenfour

答えて

3

wcstombs関数を使用できます(here参照)。

+0

これは動作するようです..Thanks Thax – saroll

1

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

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

関連する問題