Win32开发 - C ++中与字符串相关的数据类型

时间:2009-12-22 16:42:13

标签: string winapi pointers types character-encoding

我将从Win32应用程序开发开始。在我能够显示第一个窗口之前我已经准备好放弃了!在编写简单的WinMain和WndProc之前,我对您需要了解的数据类型数量感到不知所措。 (当然,除非你复制粘贴!)

特别是这些 -

LPSTR

LPCSTR

LPWSTR

LPCWSTR

有人能指出我正确的文章解释这些与Win32编程有关吗?我应该知道哪些,在什么情况下需要哪些,用于Unicode时,什么是多字节字符集,以及所有相关的东西。

在调用Win32 API函数时,转换为/从这些数据类型转换为char *和char []等等是一件痛苦的事。

这一切都让人感到困惑。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

模式相对简单:

LPSTR =以char

结尾的以零结尾的字符串

LPCSTR = 常量以零结尾的char字符串(C == 常量

LPWSTR =以wchar_t(W ==宽字符)

的以零结尾的字符串

LPCWSTR = 常量以零结尾的wchar_t(C和W)字符串

有关详情和说明,请参阅例如http://www.codeproject.com/KB/string/cppstringguide1.aspx

链接文章还包含何时在应用程序中使用Unicode以及何时不使用Unicode的建议。