LPCTSTR型的问题?

xjbx
博客专家认证
2002-08-12 10:27:57
想从LPCTSTR型中提取“字符”该如何做?请高手指点一二!谢谢~
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hucong 2002-08-12
  • 打赏
  • 举报
回复
LPCSTR An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.
这个仅仅是一个宏
你可以把他当成一个char*pstr来用,如果你知道unicode,就自然就明白了它的另外一个意思
punpuny 2002-08-12
  • 打赏
  • 举报
回复
没必要对其进行转换,直接用[]象数组一样取下标就可以了。code如下:

LPCTSTR str = "This is a test";
TCHAR ch = str[0];
e2wugui 2002-08-12
  • 打赏
  • 举报
回复
在非unicode的情况下,
使用mbs开头的函数

如:
_mbsdec, _mbsinc, _mbsnextc
_mbslen
e2wugui 2002-08-12
  • 打赏
  • 举报
回复
转换成unicode,然后就可以取字符了。

如:
TCHAR sz[100];

LPWSTR lpwsz = sz;
// 如果不是unicode,才转换。** 没有测试过,没有错误检查。
#ifndef UNICODE
WCHAR wsz[200];
MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, sz, 100, wsz, 200);
lpwsz = wsz;
#endif

// lpwsz 需要设置结尾的0,unicode 需要两个0?
for(int i=0; i<wcslen(lpwsz); i++)
WCHAR wchar = lpwsz[i];

最好直接用unicode,否则取出来的没有wchar还要转换回去。

看看还有没有更好的方法
Goesthe 2002-08-12
  • 打赏
  • 举报
回复
把问题说的再详细一点吧

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧