С использованием CString
В следующих подразделах этого раздела описывается программирование с использованием CString
. Справочная документация по CString
классу см. в документации.CStringT
Чтобы использовать CString
, включите заголовок atlstr.h
.
Классы CString
и CStringW
классы являются специализациями шаблона класса, вызываемого CStringT
на основе типа символьных данных, CStringA
которые они поддерживают.
CStringW
Объект содержит wchar_t
тип и поддерживает строки Юникода. CStringA
Объект содержит char
тип и поддерживает строки с одним байтом и несколькими байтами (MBCS). CString
Объект поддерживает либо тип, либо char
тип, в зависимости от того, определен ли символ MBCS или 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)
Содержит ссылки на разделы, в которых описаны несколько способов управления строковыми данными.