lpcstr что это



Автор Dm stark задал вопрос в разделе Системное администрирование

С++. Какие есть типы открытия окон в структуре WNDCLASSEX? и получил лучший ответ

Ответ от Shockware@mail.ru[гуру]
LPCSTR понимается так.
• LP — Long Pointer (длинный указатель)
• C – Constant (константа)
• STR – String (строка)
По сути LPCSTR это (Длинный) указатель на строку.
декларация типа:
typedef const char* LPCSTR;
LPCWSTR можно понять так:
LP — Long Pointer (Длинный указатель)
C — Constant (константа)
WSTR — Wide character String (строка больших символов)
декларация типа:
typedef const WCHAR* LPCWSTR;
shockware@mail.ru
(74456)
Так смотрите декларацию типа то в хидерах ...в чем проблема ?

Ответ от Александр Бабушкин[гуру]
Вот ответ на ваш вопрос:
#ifdef UNICODE
typedef LPCWSTR LPCTSTR;
#else
typedef LPCSTR LPCTSTR;
#endif
Работает это следующим образом: если в начале программы написать #define UNICODE, то все LPCTSTR в вашей проге превращаются сначала в LPCWSTR потом в WCHAR* и, в конечном итоге, в wchar_t *. Если НЕ писать #define UNICODE, то LPCSTR будет CHAR* обычным чарактером char*. Есть ещё хитрый макрос TEXT("some text "), который работает аналогичным образом. Функции WinAPI тоже аналогичным образом завязаны на UNICODE. Всё это в совокупности даёт контроль Вам над программой: хотите компилировать Юникодовскую версию - нет ничего проще! Просто включаете в начале #define UNICODE - и всё!
Манипуляции с 64-битными типами ещё более хитрые, так что компиляция в 64-битный экзешник тоже происходит автоматически, достаточно изменить одну единственную переменную окружения (какую, попробуйте найти сами!).

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: С++. Какие есть типы открытия окон в структуре WNDCLASSEX?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*