У меня есть программа, в которой мне нужно использовать Format(); функция для объединения строкового литерала и int в переменную CString. Я пробовал несколько разных способов сделать это, код для них здесь:
// declare variables used
CString _CString;
int _int;
// try to use format function with string literal
_CString.Format("text",_int);
// try to use format function with C-Style cast
_CString.Format((wchar_t)"text",_int);
// try to use format function with static_cast
_CString.Format(static_cast<wchar_t>("text"),_int);
Первый возвращает ошибку C2664: 'void ATL::CStringT::Format(const wchar_t *,...)': невозможно преобразовать параметр 1 из 'const char [33]' в 'const wchar_t *'
Во втором случае ошибки нет, но текст отображается китайскими иероглифами.
Третий возвращает ошибку C2440: «static_cast»: невозможно преобразовать «const char [33]» в «wchar_t».
Есть идеи по преобразованию CStrings в wchar_t *s?
Спасибо.