Класс CStringT
Этот класс представляет объект CStringT.
template< typename BaseType, class StringTraits >
class CStringT :
public CSimpleStringT< BaseType, _CSTRING_IMPL_::_MFCDLLTraitsCheck< BaseType, StringTraits > ::c_bIsMFCDLLTraits>
Параметры
BaseType
Тип символа строкового класса.Может принимать следующие значения:char (для символьных строк ANSI).
wchar_t (для символьных строк в юникоде).
TCHAR (и для символьных строк ANSI и юникод).
StringTraits
Определяет, является ли поддержка библиотеки времени выполнения c (CRT) необходимостей класса строки и, где строковые ресурсы найдены.Может принимать следующие значения:Wchar_t strtraitatl< | char | TCHAR, wchar_t chtraitscrt< | char | TCHAR > >
Класс требует поддержки и поиска CRT для строк ресурса в указанном модуле m_hInstResource (членом класса модуля приложения).
Wchar_t strtraitatl< | char | TCHAR, wchar_t chtraitsos< | char | TCHAR > >
Класс не требует поддержки и поиска CRT для строк ресурса в указанном модуле m_hInstResource (членом класса модуля приложения).
Wchar_t strtraitmfc< | char | TCHAR, wchar_t chtraitscrt< | char | TCHAR > >
Класс требует поддержки и поиска CRT для строк ресурса с помощью стандартного алгоритма поиска MFC.
Wchar_t strtraitmfc< | char | TCHAR, wchar_t chtraitsos< | char | TCHAR > >
Класс не требует поддержки и поиска CRT для строк ресурса с помощью стандартного алгоритма поиска MFC.
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CStringT различными способами. |
|
Удаляет объект CStringT. |
Открытые методы
Имя |
Описание |
---|---|
Выбирает BSTR из данных CStringT. |
|
Выполняет преобразование из в- размещения кодировка ANSI в символ OEM - набор. |
|
Форматированные данные добавитями к существующему CStringT объект. |
|
Сравнивает 2 строк (регистр, сведения о языковой стандарт- определенной польз). |
|
Сравнивает 2 строк (с учетом регистра, сведения о языковой стандарт- определенной польз). |
|
Сравнивает 2 строк (с учетом регистра). |
|
Сравнивает 2 строк (регистр символов не учитывается). |
|
Удаляет знак или знаки из строки. |
|
Находит символ или подстрока в рамках более крупной строки. |
|
Находит первый соответствующий символ из набора. |
|
Форматирует строки по мере sprintf. |
|
Форматирует строки сообщения. |
|
Форматирует строка сообщения, используя список аргументов переменной. |
|
Форматирует строки, используя список аргументов переменной. |
|
Задает строку в значение указанной переменной среды. |
|
Вставляет один знак или подстроку на заданный индекс в строке. |
|
Извлекает левая часть строки. |
|
Загружает существующий объект CStringT из ресурса Windows. |
|
Преобразование всех символов в данной строке в нижний регистр символов. |
|
Изменяет строку. |
|
Преобразование всех символов в данной строке в символы верхнего регистра. |
|
Извлекает средняя часть строки. |
|
Выполняет преобразование в- размещения из символов OEM - установка в набор символов ANSI. |
|
Удаляет отображаемый символов из строки. |
|
Указывает replaces символы с другими символами. |
|
Находит символ в более крупной строки; начинается с конца. |
|
Извлекает правая часть строки. |
|
Задает существующий объект BSTR данными из объекта CStringT. |
|
Извлекает символов из строки, начиная с первого символа, в наборе символов, определенных pszCharSet. |
|
Извлекает подстроку, которая содержит только символы в наборе. |
|
Токены извлечь указанные в строке целевого объекта. |
|
Усекает все начальные и конечные символы пробела из строки. |
|
Trim, который привел знаками пробела из строки. |
|
Усекаются замыкающие знаки пробела из строки. |
Операторы
Присвоить новое значение объекта CStringT. |
|
Сцепляет 2 строк или знаков и строк. |
|
Сцепляет новую строку в конец существующей строки. |
|
Определяет, логически равны 2 строк. |
|
Определяет, 2 строк логическое не равны. |
|
Определяет, является ли строка в левой части оператора, чем в строке справа. |
|
Определяет, является ли строка в левой части оператора больше строки справа. |
|
Определяет, является ли строка в левой части оператора, меньше или равно строке справа. |
|
Определяет, является ли строка в левой части оператора больше или равно строке справа. |
Заметки
CStringT наследуется от класс CSimpleStringT.Расширенные функции, например упорядочения и манипуляция знака, поиск, реализованы CStringT.
Примечание |
---|
Объекты CStringT обеспечивают возможность возникновения исключения.Это происходит, когда не хватает памяти для выполнения объекта CStringT какой-либо причине. |
Объект CStringT состоит из последовательности знаков переменной длины.CStringT предоставляет функции и операторы, используя синтаксис, подобный этому из основного.Соединение и операторы сравнения вместе с упрощенным элемента управления памятью, что объекты CStringT более удобным использовать чем массивы обычного символа.
Примечание |
---|
Хотя можно создать экземпляры CStringT, которые содержат внедренные нуль-символы рекомендуется к ней.Вызов методов и операторов, основанных на объектах CStringT, которые содержат внедренные нуль-символы может дать непредусмотренных инструкций. |
С использованием различных сочетаний параметров BaseType и StringTraits объекты CStringT могут поступать на следующие типы, которые являются стандартными библиотеками библиотеки ATL.
При использовании в приложении библиотеки ATL:
CString, CStringA и CStringW экспортироватьы из библиотеки DLL MFC (MFC90.DLL) никогда из библиотеки DLL пользователя.Это делается для предотвращения CStringT от умножает заданный.
Примечание |
---|
Если обнаружил ошибки компоновщика экспортирования CString- производный класс из библиотеки DLL расширения MFC в Visual C++ .NET 2002 и примененные решение, как описано в статье базы знаний "связывание ошибки при импорте CString- Производные классы" (Q309801), необходимо удалить код временного решения, так как это было зафиксировано в Visual C++ .NET 2003.Статьи базы знаний можно найти на компакт-диске библиотеки MSDN или по ссылке https://support.microsoft.com/. |
Следующие строковые типы доступны в пределах MFC-, работающих приложений:
Тип CStringT |
Объявление |
---|---|
CStringA |
Строка типа символов ANSI с поддержкой CRT. |
CStringW |
Строка типа в юникоде с поддержкой CRT. |
CString |
Типы и ANSI и в юникоде с поддержкой CRT. |
Следующие строковые типы доступных в проектах, в которых указан ATL_CSTRING_NO_CRT:
Тип CStringT |
Объявление |
---|---|
CAtlStringA |
Строка типа символов ANSI без поддержки CRT. |
CAtlStringW |
Строка символов юникода типа без поддержки CRT. |
CAtlString |
Типы и ANSI и символ юникода без поддержки CRT. |
Следующие строковые типы доступных в проектах, в которых ATL_CSTRING_NO_CRT не указано.
Тип CStringT |
Объявление |
---|---|
CAtlStringA |
Строка типа символов ANSI с поддержкой CRT. |
CAtlStringW |
Строка типа в юникоде с поддержкой CRT. |
CAtlString |
Типы и ANSI и в юникоде с поддержкой CRT. |
Объекты CString также имеют следующие характеристики:
Объекты CStringT могут увеличиваться в результате операций соединения.
Объекты CStringT следовать семантике "значения". Подумайте объекта CStringT как фактическая строка, а не как указатель на строку.
Можно свободно заменить объекты CStringT для аргументов функции PCXSTR.
Пользовательское управление памятью для буферов строки.Дополнительные сведения см. в разделе управление памятью и CStringT.
CStringT предопределило типы
Поскольку CStringT использует аргумент шаблона, чтобы указать поддерживаемый тип символов (или wchar_t или char), типы параметров метода может осложнить временем.Для упрощения этой проблемы набор стандартных типов определяется и используется в класс CStringT.В следующей таблице перечислены различные типы:
Имя |
Описание |
---|---|
XCHAR |
Один знак (или wchar_t или char) с тем же типом символов в виде объекта CStringT. |
YCHAR |
Один знак (или wchar_t или char) с противоположным типом символов в виде объекта CStringT. |
PXSTR |
Является указателем на символьную строку (или wchar_t или char) с тем же типом символов в виде объекта CStringT. |
PYSTR |
Является указателем на символьную строку (или wchar_t или char) с противоположным типом символов в виде объекта CStringT. |
PCXSTR |
Является указателем на символьную строку const (или wchar_t или char) с тем же типом символов в виде объекта CStringT. |
PCYSTR |
Является указателем на символьную строку const (или wchar_t или char) с противоположным типом символов в виде объекта CStringT. |
Примечание |
---|
Закодируйте, что ранее, используемые недокументированные методы CString (например, AssignCopy) должны быть заменены с кодом, используются следующие методы CStringT документированные (например, GetBuffer или ReleaseBuffer).Эти методы наследуются от CSimpleStringT. |
Иерархия наследования
CStringT
Требования
Header |
Использование |
---|---|
cstringt.h |
Объект строки - только MFC |
atlstr.h |
Строковый объект, не относящихся к MFC |