【问题标题】:Concatenate CString and Long in VC++?在 VC++ 中连接 CString 和 Long?
【发布时间】:2013-02-03 17:06:38
【问题描述】:

我必须将两个 CString 变量和两个 long 变量连接在一起 CString。我找到了一个我使用过的格式函数:

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

有没有像我们在Java中使用的toString()这样的函数?

【问题讨论】:

    标签: c++ casting atl tostring cstring


    【解决方案1】:

    sprintf(OutputBuffer, "%s%d", str, 123) ;

    1. 对 ANSI 版本使用 CStringA。
    2. 对 Unicode 版本使用 CStringW。
    3. 对 TCHAR 版本使用 CString。

    强制 CString 被评估为 CStringA:: 转到,项目-> 属性-> 配置属性-> 常规。 在右侧,您将获得“字符集”行,将其更改为“未设置”

    【讨论】:

      【解决方案2】:
      CString str = _T("Some Data");
      str.Format(_T("%s%d"), str, 123);
      

      在此处阅读_T<tchar.h>Generic-Text Mappings in Tchar.h

      【讨论】:

        猜你喜欢
        • 2015-10-29
        • 1970-01-01
        • 2013-12-23
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        • 2010-12-26
        • 2017-07-10
        • 2011-03-10
        相关资源
        最近更新 更多