c++ - LPCSTR、LPCTSTR 和 LPTSTR

标签 c++ windows visual-c++ mfc

LPCSTRLPCTSTRLPTSTR有什么区别?

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

LV_DISPINFO dispinfo;  
dispinfo.item.pszText = LPTSTR((LPCTSTR)string);

最佳答案

回答你问题的第一部分:

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

LPCTSTR 是一个指向 const TCHAR 字符串的指针,(TCHAR 是宽字符还是字符,取决于 UNICODE 是否在你的项目)

LPTSTR 是指向(非常量)TCHAR 字符串

的指针

实际上,在过去谈论这些时,为了简单起见,我们省略了“指向一个”短语,但正如在轨道上的轻量级所提到的,它们都是指针。

这是一个很棒的codeproject article描述 C++ 字符串(参见下面 2/3 的图表比较不同类型)

关于c++ - LPCSTR、LPCTSTR 和 LPTSTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321413/

相关文章:

c++ - 如何为 string_view 创建 (VC14) 调试可视化工具?

c++ - multi_array_view 赋值没有深拷贝?

windows - Visual Studio 2012 Beta - 部署应用程序时出错

java - 如何终止进程树?

c++ - 查找区间内所有数字的 n 次方根

c++ - GCC 和 MSVC 之间的 digits10 差异

c++ - 绑定(bind)运算符新?

通过具有指向函数的公共(public)成员指针的对象调用 C++ 函数,而不使用取消引用运算符

c++ - 在 MFC 应用程序中监听 UDP 或切换到 TCP

.net - Windows 7 中将包含哪个 .NET Framework 版本?