Win32 development-String related datatypes in C++


Я собирался начать с разработки приложений Win32. Прежде чем я смог открыть первое окно, я был готов сдаться! Я был ошеломлен количеством типов данных, о которых вам нужно знать, прежде чем вы сможете написать простой WinMain и WndProc. (если вы, конечно, не копируете-вставляете!)

Особенно эти -

LPSTR

LPCSTR

LPWSTR

LPCWSTR

Может ли кто-нибудь указать мне на правильную статью, которая объясняет это в отношении программирования Win32? О каких из них я должен знать, какие нужны в какой ситуации, Когда перейти на Unicode, что такое многобайтовый набор символов и все связанные с этим вещи.

И преобразование в / из этих типов данных в char* и char[] и тому подобное, при вызове функций Win32 API-это боль.

Все это так запутанно.

Спасибо за помощь.

1 2

1 ответ:

Схема относительно проста:

LPSTR = строка с нулевым окончанием char

LPCSTR = константа нулевая строка char (C = = константа)

LPWSTR = строка с нулевым окончанием wchar_t (W = = широкий символ)

LPCWSTR = константа нулевая строка wchar_t (C и W)

Подробности и пояснения см. напр. http://www.codeproject.com/KB/string/cppstringguide1.aspx

Связанная статья также содержит советы, когда использовать Unicode в вашем приложении, а когда нет.