1、缘由

\qquad 最近在看多线程和多进程的操作,使用Windows线程操作API时总会遇到奇奇怪怪的宽字符类型,此文章将持续更新,写一写字符转换相关的内容。

2、LPWSTR赋值

\qquad 通过转定义可以知道LPWSTR是对WCHAR的重定义:

typedef _Null_terminated_ WCHAR *NWPSTR, *LPWSTR, *PWSTR;

\qquad WCHAR的定义如下:

typedef wchar_t WCHAR;    // wc,   16-bit UNICODE character

\qquad 知道上述之后,自己动手,本想可以丰衣足食,惨遭失败…下述是本人的错误示范:

LPWSTR test1 = const_cast<WCHAR*>(L"mspaint.exe");	//尝试一
LPWSTR test2 = (LPWSTR)(LPCWSTR)L"mspaint.exe";		//尝试二

\qquad 之后老老实实上网找博客,找到下述通过CString作为中间人进行转化的方法,效果还OK。

CString test3 = L"mspaint.exe";
LPWSTR test4 = (LPWSTR)(LPCWSTR)test3;

\qquad 希望上述对于和我一样的小菜有所帮助,大佬就当看个乐呵,[抱拳了]

未完待续… …

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐