【问题标题】:CString 'Trim' : is not a member, why?CString 'Trim' : 不是成员,为什么?
【发布时间】:2010-07-05 11:43:50
【问题描述】:

我有一个简单的应用程序,我尝试用 VC express 编译并使用:
适用于 Windows server 2003 的 Microsoft 平台 SDK,包含 MFC 和 ATL。 现在我有了这个简单的代码:

CString strValue("test");
CString s = strValue.Trim();
LPCTSTR lpStr = (LPCTSTR)strValue.Trim()

这给了我一个编译错误: c:\dev\test.cpp(463) : error C2039: 'Trim' : is not a member of 'CString' c:\program files\microsoft platform sdk for windows server 2003 r2\include\mfc\afx.h(369) :参见“CString”声明

我的平台 SDK 和 vc express 有问题吗?

【问题讨论】:

    标签: c++ visual-studio-2010 mfc compiler-errors visual-c++-2010-express


    【解决方案1】:

    Visual C++ Express Edition 没有内置对 ATL 和 MFC 的支持(CString 是一个 MFC 类,实现为共享 MFC/ATL CStringT 类:documentation)。

    如果你真的买不起标准版,你可以依靠这个howto通过安装DDK来添加ATL和MFC支持:http://www.codeproject.com/KB/MFC/MFCinVisualStudioExpress.aspx

    【讨论】:

    • 谢谢,但是微软没有这个版本可以下载了,我在哪里可以找到它?
    • 您可以下载Visual Studio 2010 Professional或Ultimate的试用版microsoft.com/visualstudio/en-us/download
    • 要下载当前版本的 WDK,您必须在 connect.microsoft.com 上注册并注册 Windows Driver Kit 程序(它是免费的)。
    • 新的ddk有mfc/atl吗?
    【解决方案2】:

    你可以试试 CString 的 TrimLeft()、TrimRight() 函数。

    【讨论】:

      【解决方案3】:

      使用“Microsoft Platform SDK for Windows Server 2003 R2”中的 MFC 似乎安装了早期版本的 MFC,其中 CString 还没有 Trim() 函数。改为组合使用 TrimLeft() 和 TrimRight()。

      这个指向 CString 文档的 Visual C++ 6 版本的链接显示该方法在那里尚不存在: http://msdn.microsoft.com/en-us/library/aa315043%28v=vs.60%29.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-16
        • 1970-01-01
        • 2023-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-25
        相关资源
        最近更新 更多