Я пытаюсь отформатировать CString, используя следующий код:
const wchar_t * wch = L"μ";
CString str;
str.Format(_T("%c"), wch[0]);
Однако вместо того, чтобы str имел значение «μ», он фактически установлен на «¼».Когда я отлаживаю его, он распознает wch как "μ".
Далее, если я сделаю:
const wchar_t * wch = L"μ";
CString str;
str.Format(_T("%s"), wch);
, он выдаст str со значением "¼".(Кажется, он не отображается, но после ¼ должен быть верхний индекс L).
Компилятор настроен на использование Юникода, как и в других случаях, когда в программе я могу вызывать _T () иправильно ли он оценивается, только не при форматировании CString.
Что я делаю не так?
* Edit: * Выполнение дополнительной отладки показывает, что arglist метода CString Formatполучает значение "Ü _"