含义
- 其实就是编码问题
- A:
- 代表ANSI
- W:
- 代表宽字节(wide),即 Unicode
- A:
- 一般win的库函数如果后面不加 ’A‘ 或 'W' 时,直接给它传字符串类型值时会报错:
- 以我常用的 ShellExecute() 为例:
- 会报错:
- "const char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容
- 不存在从 “std::string” 到 “LPCWSTR” 的适当转换函数
- LPCWSTR 是个啥?让我们来看看它的定义:
- typedef const wchar_t* LPCWSTR;
- 即指向unicode编码字符串的32位指针,并且所指向字符串是wchar,而非char。
- 解决方法:
- 把函数改为 ShellExecuteA() 或 ShellExecuteW()
- 或者在传字符串时使用宏定义转换类型
- 对于常量字符串:
- _T() (推荐使用)自适应转换,当程序定义为unicode时,相当于L,当程序定义为ansi时,则被忽略(头文件:#include <tchar.h>)
- L ;例如原本传值为 fun("open"),使用后为fun(L"open");注意这个L并没有括号。
- CA2W() 从宽字符集(Unicode)转为多字符集(ANSI)(头文件:#include <atlstr.h>)
- CW2A() 从多字符集(ANSI)转化为宽字符集(Unicode)(头文件:#include <atlstr.h>)
- 对于string / char[] / const char[] :
- 使用以下函数
LPCWSTR stringToLPCWSTR(const std::string& orig)
{
size_t origsize = orig.length() + 1;
const size_t newsize = 100;
size_t convertedChars = 0;
wchar_t *wcstring = (wchar_t *)malloc(sizeof(wchar_t)*(orig.length()-1));
mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE);
return wcstring;
}
- -
- -
- 那么如果我是 char[] 或者 const char[] 呢?那当然是转string再使用上面的函数啦。
- 示例:
- -
ShellExecuteA(NULL, "open", "https://blog.coolight.cool/", NULL, NULL, SW_SHOWNORMAL);
string str = "https://blog.coolight.cool/";
ShellExecute(NULL, _T("open"), stringToLPCWSTR(str), NULL, NULL, SW_SHOWNORMAL);
const char link_char[] = "https://blog.coolight.cool/";
ShellExecute(NULL, _T("open"), stringToLPCWSTR(string(link_char)), NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, L"open", CA2W("https://blog.coolight.cool/"), NULL, NULL, SW_SHOWNORMAL);
常见编码格式
见另一篇文章:常见编码格式 / 字节序(大端 / 小端)/ 带BOM
оборудование для ситуационного центра https://www.oborudovanie-situacionnyh-centrov.ru .
canadian pharmacies Certified Canadian Pharmacies buy prescription drugs from canada cheap
online shopping pharmacy india: indian pharmacy fast delivery – top 10 online pharmacy in india
https://mexicoph24.life/# mexican mail order pharmacies
reputable mexican pharmacies online mexican online pharmacies prescription drugs medicine in mexico pharmacies
buying prescription drugs in mexico online mexican pharmacy medicine in mexico pharmacies
reputable mexican pharmacies online Online Pharmacies in Mexico mexican pharmaceuticals online
https://canadaph24.pro/# legitimate canadian pharmacies
my canadian pharmacy review Large Selection of Medications from Canada canada pharmacy online legit
buy medicines online in india indian pharmacy п»їlegitimate online pharmacies india
https://mexicoph24.life/# mexico drug stores pharmacies
india pharmacy best online pharmacy india best online pharmacy india
pharmacies in mexico that ship to usa: best online pharmacies in mexico – mexican drugstore online
mexican mail order pharmacies mexican pharmacy mexican online pharmacies prescription drugs
http://mexicoph24.life/# п»їbest mexican online pharmacies
Online medicine order reputable indian pharmacies best india pharmacy
canada drugs online reviews Prescription Drugs from Canada canadian pharmacy online
canada cloud pharmacy: Licensed Canadian Pharmacy – vipps approved canadian online pharmacy
indian pharmacy online Generic Medicine India to USA world pharmacy india
https://indiaph24.store/# buy medicines online in india
rate canadian pharmacies Large Selection of Medications from Canada canada pharmacy 24h
mexican mail order pharmacies mexico pharmacy buying prescription drugs in mexico
mexico drug stores pharmacies: cheapest mexico drugs – mexico drug stores pharmacies
https://canadaph24.pro/# reddit canadian pharmacy
Online medicine home delivery Generic Medicine India to USA top 10 online pharmacy in india
http://indiaph24.store/# cheapest online pharmacy india
canadian pharmacy price checker: medication canadian pharmacy – canadian pharmacies compare
ordering drugs from canada Prescription Drugs from Canada certified canadian international pharmacy
best online pharmacy india indian pharmacy fast delivery indian pharmacy paypal
buying prescription drugs in mexico Mexican Pharmacy Online mexican pharmaceuticals online
the canadian pharmacy canadian pharmacies best rated canadian pharmacy
https://canadaph24.pro/# canadian pharmacy 24
purple pharmacy mexico price list medication from mexico pharmacy mexican pharmaceuticals online
indian pharmacies safe indianpharmacy com top 10 pharmacies in india
http://mexicoph24.life/# mexican border pharmacies shipping to usa
mexican rx online mexico pharmacy mexican online pharmacies prescription drugs
http://canadaph24.pro/# canadian pharmacy
vipps canadian pharmacy Certified Canadian Pharmacies best canadian online pharmacy
mexican border pharmacies shipping to usa: mexico pharmacy – best online pharmacies in mexico
я уже смотрел обзор здесь https://my-obzor.com/ перед тем, как сделать заказ. Не сказать, что все отзывы были 100% положительные, там уже упоминались основные минусы и плюсы.
online canadian drugstore Licensed Canadian Pharmacy canadapharmacyonline com
web c? b?c online uy tin game c? b?c online uy tin casino online uy tin
https://casinvietnam.com/# casino tr?c tuy?n vi?t nam
http://casinvietnam.com/# game c? b?c online uy tin
https://casinvietnam.com/# casino tr?c tuy?n vi?t nam
https://petroyalportrait.com/
casino tr?c tuy?n choi casino tr?c tuy?n tren di?n tho?i casino tr?c tuy?n vi?t nam
http://casinvietnam.com/# casino tr?c tuy?n vi?t nam
https://casinvietnam.com/# casino tr?c tuy?n vi?t nam
danh bai tr?c tuy?n danh bai tr?c tuy?n choi casino tr?c tuy?n tren di?n tho?i