Объединить CString и Long в VC ++?

Я должен соединить два CString переменные и два long переменные в одном
CString, Я нашел одну функцию Format, которую я использовал следующим образом:

CString str = "Some Data";

str.Format("%s%d", str, 123);

Но это дает ошибки. Вот журнал ошибок:

\AudWinSockXCtrl.cpp(410) : error C2440: 'initializing' : cannot convert from 'const char [10]' to 'ATL::CStringT'

with

[

BaseType=wchar_t,

StringTraits=StrTraitMFC

]

Constructor for class 'ATL::CStringT' is declared 'explicit'

with

[

BaseType=wchar_t,

StringTraits=StrTraitMFC

]

.\AudWinSockXCtrl.cpp(411) : error C2664: 'void ATL::CStringT::Format(const wchar_t *,...)' :
cannot convert parameter 1 from 'const char [5]' to 'const wchar_t *'
with[

BaseType=wchar_t,

StringTraits=StrTraitMFC

]

Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or
function-style cast

.\AudWinSockXCtrl.cpp(414) : error C2664: 'void ATL::CStringT::Format(const wchar_t *,...)' :
cannot convert parameter 1 from 'const char [4]' to 'const wchar_t *'

with

[

BaseType=wchar_t,

StringTraits=StrTraitMFC

]

Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or
function-style cast

Есть ли такая функция, как toString() как мы используем в Java?

0

Решение

CString str = _T("Some Data");
str.Format(_T("%s%d"), str, 123);

Следить за публикациями _T а также <tchar.h> Вот: Общие текстовые отображения в Tchar.h .

1

Другие решения

Sprintf (OutputBuffer, «% s% d», стр. 123);

  1. Используйте CStringA для версии ANSI.
  2. Используйте CStringW для версии Unicode.
  3. Используйте CString для версии TCHAR.

Чтобы заставить CString быть оцененной как CStringA ::
Перейти, Проект-> Свойства-> Свойства конфигурации-> Общие.
Справа вы получите строку «Набор символов», измените ее на «Не установлен»

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector