首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LPCSTR、LPCTSTR和LPTSTR

LPCSTR、LPCTSTR和LPTSTR
EN

Stack Overflow用户
提问于 2008-11-27 01:01:16
回答 5查看 179.3K关注 0票数 124

LPCSTRLPCTSTRLPTSTR之间的区别是什么

为什么我们需要这样做才能将字符串转换为LV / _ITEM结构变量pszText

代码语言:javascript
复制
LV_DISPINFO dispinfo;  
dispinfo.item.pszText = LPTSTR((LPCTSTR)string);
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-11-26 17:09:48

回答你问题的第一部分:

LPCSTR是指向常量字符串的指针(LP表示Long Pointer)

LPCTSTR是指向UNICODE字符串的指针(TCHAR是宽字符还是宽字符,取决于项目中是否定义了UNICODE)

LPTSTR是指向(非常数) TCHAR字符串的指针

在实践中,在过去讨论这些时,为了简单起见,我们省略了“指向a的指针”这一短语,但正如lightness-races In -orbit所提到的,它们都是指针。

这是一个描述C++字符串的很棒的codeproject article (请参阅2/3向下的方式来比较不同类型的图表)

票数 133
EN

Stack Overflow用户

发布于 2008-11-27 01:09:36

快速和肮脏:

LP == Long Pointer.只需考虑指针或字符*

C = Const,在这种情况下,我认为他们的意思是字符串是常量,而不是指针是常量。

STRstring

T用于宽字符或字符(TCHAR),具体取决于编译选项。

票数 94
EN

Stack Overflow用户

发布于 2008-11-26 17:12:56

补充约翰和蒂姆的答案。

除非是针对Win98进行编码,否则在应用程序中只应使用两种6+字符串类型

  • LPWSTR
  • LPCWSTR

其余的则是为了支持ANSI平台或双编译。这些在今天已经不像以前那么重要了。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/321413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档