Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Этот класс используется макросами преобразования строк 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
Общие сведения о классе