社区
C++ 语言
帖子详情
(LPSTR)(LPCTSTR)
AlanBruce
企业官方账号
2010-06-14 09:59:56
这个貌似在VC6.0和VS结果不一样。。。
求解释
...全文
125
8
打赏
收藏
(LPSTR)(LPCTSTR)
这个貌似在VC6.0和VS结果不一样。。。 求解释
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
东莞某某某
2010-06-14
打赏
举报
回复
http://apps.hi.baidu.com/share/detail/424575
jcwKyl
2010-06-14
打赏
举报
回复
比如unicode的"abcd"可能是 0x61 0x00 0x62 0x00 0x63 0x00 0x64 0x00
你用char *去指,它看到0x61 0x00,就以为这个char*已经遇到字符串结束标记了。所以这个
char *实际上指的是"a"
oyster2008
2010-06-14
打赏
举报
回复
因为X字符在Unicode中表示成\0x00X,遇到0x00,而0x00在char*里表示字符串结尾
[Quote=引用 4 楼 zhoutanliang 的回复:]
引用 3 楼 oyster2008 的回复:
VC6中默认字符集是MBCS,所以LPCTSTR=LPCSTR,强制转换成LPSTR也能看到结果
9中默认字符集是Unicode,所以你这是将char*指针指向Unicode字符串了
那为什么只是首字符呢
[/Quote]
jcwKyl
2010-06-14
打赏
举报
回复
[Quote=引用 4 楼 zhoutanliang 的回复:]
引用 3 楼 oyster2008 的回复:
VC6中默认字符集是MBCS,所以LPCTSTR=LPCSTR,强制转换成LPSTR也能看到结果
9中默认字符集是Unicode,所以你这是将char*指针指向Unicode字符串了
那为什么只是首字符呢
[/Quote]
因为Unicode字符串是两个字节,你的X就变成了X0,所以char*看到0后就误以为是字符串结束了,所以只指向了第一个字符。
AlanBruce
2010-06-14
打赏
举报
回复
[Quote=引用 3 楼 oyster2008 的回复:]
VC6中默认字符集是MBCS,所以LPCTSTR=LPCSTR,强制转换成LPSTR也能看到结果
9中默认字符集是Unicode,所以你这是将char*指针指向Unicode字符串了
[/Quote]
那为什么只是首字符呢
oyster2008
2010-06-14
打赏
举报
回复
VC6中默认字符集是MBCS,所以LPCTSTR=LPCSTR,强制转换成LPSTR也能看到结果
9中默认字符集是Unicode,所以你这是将char*指针指向Unicode字符串了
AlanBruce
2010-06-14
打赏
举报
回复
CString ss("XXXXX");
char* bb = (LPSTR)(LPCTSTR)ss;
在VC6.0下bb指向“XXXXX”
但VS2008下bb指向首字符“X”
大家可以验证。。
jcwKyl
2010-06-14
打赏
举报
回复
LPCTSTR是中的C表示const
你把问题再描述的详细一点
LPSTR
、LPCSTR、LPTSTR和
LPCTSTR
的意义及区别
LPSTR
、LPCSTR、LPTSTR和
LPCTSTR
的意义及区别; ANSI和UNICODE的使用; Unicode宽字符转化; VC中的字符串类型和处理函数;
LPTSTR、LPCSTR、
LPCTSTR
、
LPSTR
的来源及意义
LPTSTR、LPCSTR、
LPCTSTR
、
LPSTR
的来源及意义
LPTSTR.LPCSTR.
LPCTSTR
.
LPSTR
的来源及意义
LPTSTR、LPCSTR、
LPCTSTR
、
LPSTR
的意义
(资料大全加程序)C++ 字符串之间的相互转化 宽字符与多字符集(LPTSTR、LPCSTR、
LPCTSTR
、
LPSTR
)
资料大全加程序 宽字符与多字符集(LPTSTR、LPCSTR、
LPCTSTR
、
LPSTR
) C++ 字符串之间的相互转化
在VC中读写ini配置文件的函数.pdf
配置文件中经常用到ini文件...lpDefaut,
LPSTR
lpReturnedString,DWORD nSize,
LPCTSTR
lpFileName); 读取整形值:UINT GetPrivateProfileInt(
LPCTSTR
lpAppName,
LPCTSTR
lpKeyName,INT nDefault,
LPCTSTR
lpFileName);
C++ 语言
64,680
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章