Разработка для Win32 - Строковые типы данных в C ++ - PullRequest
2 голосов
/ 22 декабря 2009

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

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

LPSTR

LPCSTR

LPWSTR

LPCWSTR

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

И преобразование в / из этих типов данных в char * и char [] и еще много чего при вызове функций Win32 API является трудной задачей.

Это все так запутанно.

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

1 Ответ

3 голосов
/ 22 декабря 2009

Шаблон относительно прост:

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

LPCSTR = константа строка с нулевым окончанием char (C == константа )

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...