c++中给LPCSTR赋值

简介: c++中给LPCSTR赋值

1、缘由


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




2、LPWSTR赋值


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

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

WCHAR的定义如下:

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

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

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


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

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



相关文章
|
7月前
|
编译器 C++
C++程序中的对象赋值和复制
C++程序中的对象赋值和复制
89 1
|
7月前
|
C++
在C++语言中赋值运算符
在C++语言中赋值运算符
69 0
|
6月前
|
编译器 C++
C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)
C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)
54 1
|
7月前
|
C++
C++程序中的赋值运算符
C++程序中的赋值运算符
82 2
|
7月前
|
编译器 C语言 C++
从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值(中)
从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值
42 1
从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值(中)
|
6月前
|
C++ 容器
C++之deque容器(构造、赋值、大小、插入与删除、存取、排序)
C++之deque容器(构造、赋值、大小、插入与删除、存取、排序)
|
6月前
|
C++ 容器
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
|
6月前
|
存储 编译器 C++
【C++】:拷贝构造函数和赋值运算符重载
【C++】:拷贝构造函数和赋值运算符重载
34 1
|
5月前
|
编译器 C++
【C++】详解运算符重载,赋值运算符重载,++运算符重载
【C++】详解运算符重载,赋值运算符重载,++运算符重载
|
7月前
|
存储 安全 C语言
从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值(上)
从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值
39 2