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


Using CString

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

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

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

Объект CStringW содержит тип wchar_t и поддерживает строки Юникода. Объект CStringA содержит тип char и поддерживает строки с однобайтовой и многобайтовой кодировкой. Объект CString поддерживает тип char или тип wchar_t в зависимости от того, какой символ определен во время компиляции — MBCS или UNICODE.

Объект CString хранит символьные данные в объекте CStringData. CString принимает строки с завершающим байтом null в стиле C, однако не сохраняет символ null в хранимых символьных данных. Вместо этого CString отслеживает длину строки. 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);
}

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

Ссылки

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

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

Связанные подразделы

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

  • Создание экземпляра шаблона классов
    CString представляет собой typedef, основанный на CStringT, экземпляре специализации шаблона класса.

Strings (ATL/MFC)