CString 'Trim': не участник, почему? - PullRequest
6 голосов
/ 05 июля 2010

У меня есть простое приложение, которое я пытаюсь скомпилировать с помощью VC Express и использую:
SDK платформы Microsoft для Windows Server 2003, содержащий MFC и ATL. Теперь у меня есть этот простой код:

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

, которые дают мне ошибку компиляции: c: \ dev \ test.cpp (463): ошибка C2039: «Trim»: не является членом «CString» c: \ program files \ microsoft platform sdk для Windows Server 2003 r2 \ include \ mfc \ afx.h (369): см. объявление 'CString'

есть ли у меня проблемы с SDK платформы и vc express?

Ответы [ 3 ]

5 голосов
/ 05 июля 2010

Visual C ++ Express Edition не имеет встроенной поддержки ATL и MFC (CString - это класс MFC, реализованный как общий MFC / ATL CStringT класс: документация ).

Если вы действительно не можете позволить себе Standard Edition, вы можете рассчитывать на это, как добавить поддержку ATL и MFC, установив DDK: http://www.codeproject.com/KB/MFC/MFCinVisualStudioExpress.aspx

2 голосов
/ 16 июля 2010

Вместо этого вы можете попробовать функции TrimLeft (), TrimRight () в CString.

0 голосов
/ 06 июля 2011

Использование MFC из «Microsoft Platform SDK для Windows Server 2003 R2», по-видимому, устанавливает более раннюю версию MFC, где CString еще не имеет функции Trim (). Вместо этого используйте TrimLeft () и TrimRight () в комбинации.

Эта ссылка на документацию по CString для Visual C ++ 6 показывает, что метод там еще не существует: http://msdn.microsoft.com/en-us/library/aa315043%28v=vs.60%29.aspx

...