Поделиться через


С использованием CString

В следующих подразделах этого раздела описывается программирование с использованием CString. Справочная документация по CString классу см. в документации.CStringT

Чтобы использовать CString, включите заголовок atlstr.h.

Классы CStringи CStringW классы являются специализациями шаблона класса, вызываемого CStringT на основе типа символьных данных, CStringAкоторые они поддерживают.

CStringW Объект содержит wchar_t тип и поддерживает строки Юникода. Объект CStringA содержит char тип и поддерживает строки с одним байтом и несколькими байтами (МБ CS). CString Объект поддерживает либо тип, либо char тип, в зависимости от того, определен ли символ МБ CS или wchar_t символ ЮНИКОД во время компиляции.

Объект CString хранит символьные данные в объекте CStringData. CString принимает строки, завершаемые значением NULL, в стиле C. CString отслеживает длину строки для повышения производительности, но она также сохраняет NULL символ в сохраненных символьных данных для поддержки преобразования LPCWSTRв . CString включает в себя терминатор NULL при экспорте строки в стиле C. Вы можете вставить его NULL в другие расположения, CStringно это может привести к непредвиденным результатам.

Следующий набор строковых классов можно использовать без привязки библиотеки MFC, как с поддержкой CRT, так и без нее: CAtlString, CAtlStringA и CAtlStringW.

CString используется в машинных проектах. Для проектов с управляемым кодом (C++/CLI) используйте System::String.

Чтобы добавить больше возможностей, чем предлагает CString, CStringA или CStringW, необходимо создать подкласс CStringT, содержащий дополнительные компоненты.

В следующем коде показано создание CString и его распечатка в стандартном выводе:

#include <atlstr.h>

int main() {
    CString aCString = CString(_T("A string"));
    _tprintf(_T("%s"), (LPCTSTR) aCString);
}

В этом разделе

Основные CString операции
Описывает базовые операции CString, включая создание объектов из строковых литералов C, доступ к отдельным символам в CString, объединение двух объектов и сравнение объектов CString.

Управление строковыми данными
Описывает использование Юникода и многобайтовой кодировки с CString.

Семантика CString
Поясняет использование объектов CString.

Операции CString, связанные со строками в стиле C
Описывает операции с содержимым объекта CString как со строкой с завершающим нулевым байтом в стиле C.

Выделение и освобождение памяти для BSTR
Описывает использование памяти для BSTR объектов COM и объектов COM.

Очистка исключений CString
Поясняет, что явная очистка в MFC 3.0 и последующих версий больше не требуется.

Передача аргументов CString
В этой статье объясняется, как передавать CString объекты в функции и как возвращать CString объекты из функций.

Поддержка Юникода и многобайтовой кодировки
Описывает реализацию поддержки Юникода и многобайтовой кодировки в MFC.

Ссылка

CStringT
Содержит справочные сведения о классе CStringT.

CSimpleStringT Класса
Содержит справочные сведения о классе CSimpleStringT.

Строки (ATL/MFC)
Содержит ссылки на разделы, в которых описаны несколько способов управления строковыми данными.

Строки (ATL/MFC)