V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
treo
V2EX  ›  问与答

你能不查msdn就说出LPSTR LPCSTR LPWSTR LPCWSTR LPTSTR LPCTSTR的区别吗?

  •  
  •   treo · 2012-06-06 00:34:13 +08:00 · 4742 次点击
    这是一个创建于 4547 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这年头在还有几个人写ANSI的win32程序?实际用到的只有LPWSTR和LPCWSTR吧。。为什么各类win32编程教材里还在讲让新手头晕的种种string types
    4 条回复    1970-01-01 08:00:00 +08:00
    avatasia
        1
    avatasia  
       2012-06-06 00:38:14 +08:00
    LPSTR 正常使用
    LPCSTR 常量
    LPWSTR 宽字符
    LPCWSTR 常量宽字符
    LPTSTR 根据编译选项选用LPSTR或者LPWSTR
    LPCTSTR 同上

    很简单的。
    建议都用LPCTSTR,或者是stl::string.
    如果用LPSTR, 可以考虑使用utf-8编码。
    碰到中文乱码这种事情很头疼。
    Echoldman
        2
    Echoldman  
       2012-06-06 01:34:37 +08:00
    历史遗留问题,打补丁式的解决方案,就搞成这样了。
    rechtar
        3
    rechtar  
       2012-06-06 02:06:41 +08:00
    很难吗?W 表示宽,T 表示窄宽通用,C 表示常量,Windows API 那么有规律
    ayang23
        4
    ayang23  
       2012-06-06 08:35:37 +08:00
    这得感谢匈牙利人。目前只用LPWSTR,全部unicode以免出错。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.