を返します。 。私はそれをデバッグするとき、それは "μ"としてwchを認識します。CStringのフォーマットは、私は次のコードを使用してのCStringをフォーマットしようとしている間違った文字
さらに、私がしなければ:
const wchar_t * wch = L"μ";
CString str;
str.Format(_T("%s"), wch);
それが価値を持つSTRを与える "¼"。 (表示されないようですが、¼の後ろに上付き文字Lがあるはずです)
コンパイラでは、プログラム内で_T()を呼び出せてユニコードを使用するように設定されていますCStringをフォーマットするときには正しく評価されません。
私は間違っていますか?
* 編集:より多くのデバッグを行う*はCStringのフォーマット方法の引数リストは、私はあなたが「長い」文字または文字列の書式指定子を使用する必要があると考えてい
あなたはあなたが見ているものを誤解している可能性がありますか?ユニコード文字「μ」は0x03BCです。これを2バイトの1バイト文字として解釈し、 '¼'は0xBC、上付きのLは0x03となります。 –
UNICODEと_UNICODEでアプリケーションをコンパイルしていますか?ソースファイルはANSIまたはUTF-8として保存されていますか? CStringWを明示的に使ってみましたか? –