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


Класс CA2AEX

Этот класс используется макросами преобразования строк CA2TEX и CT2AEX и типизированным CA2AA.

Внимание

Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.

Синтаксис

template <int t_nBufferLength = 128>
class CA2AEX

Параметры

t_nBufferLength
Размер буфера, используемого в процессе перевода. Длина по умолчанию составляет 128 байт.

Участники

Открытые конструкторы

Имя Описание
CA2AEX::CA2AEX Конструктор.
CA2AEX::~CA2AEX Деструктор

Открытые операторы

Имя Описание
CA2AEX::operator LPSTR Оператор преобразования.

Открытые члены данных

Имя Описание
CA2AEX::m_psz Элемент данных, в который хранится исходная строка.
CA2AEX::m_szBuffer Статический буфер, используемый для хранения преобразованной строки.

Замечания

Если не требуется дополнительная функциональность, используйте CA2TEX, CT2AEX или CA2A в собственном коде.

Этот класс содержит статический буфер фиксированного размера, который используется для хранения результата преобразования. Если результат слишком велик, чтобы поместиться в статический буфер, класс выделяет память с помощью malloc, освобождая память при выходе объекта из области. Это гарантирует, что в отличие от макросов преобразования текста, доступных в предыдущих версиях ATL, этот класс безопасно используется в циклах и что он не переполняет стек.

Если класс пытается выделить память в куче и завершается ошибкой, он вызовет AtlThrow аргумент E_OUTOFMEMORY.

По умолчанию классы преобразования ATL и макросы используют кодовую страницу ANSI текущего потока для преобразования.

Следующие макросы основаны на этом классе:

  • CA2TEX

  • CT2AEX

Следующий типdef основан на этом классе:

  • CA2A

Сведения об этих макросах преобразования текста см. в разделе ATL и макросы преобразования строк MFC.

Пример

Пример использования этих макросов преобразования строк в ATL и MFC.

Требования

Заголовок: atlconv.h

CA2AEX::CA2AEX

Конструктор.

CA2AEX(LPCSTR psz, UINT nCodePage) throw(...);
CA2AEX(LPCSTR psz) throw(...);

Параметры

psz
Текстовая строка, которая будет преобразована.

nCodePage
Неиспользуемый в этом классе.

Замечания

Создает буфер, необходимый для перевода.

CA2AEX::~CA2AEX

Деструктор

~CA2AEX() throw();

Замечания

Освобождает выделенный буфер.

CA2AEX::m_psz

Элемент данных, в который хранится исходная строка.

LPSTR m_psz;

CA2AEX::m_szBuffer

Статический буфер, используемый для хранения преобразованной строки.

char m_szBuffer[ t_nBufferLength];

CA2AEX::operator LPSTR

Оператор преобразования.

operator LPSTR() const throw();

Возвращаемое значение

Возвращает текстовую строку в виде типа LPSTR.

См. также

Класс CA2CAEX
Класс CA2WEX
Класс CW2AEX
Класс CW2CWEX
Класс CW2WEX
Общие сведения о классе