含义
- 其实就是编码问题
- 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
mexico pharmacies prescription drugs: buying prescription drugs in mexico online – buying from online mexican pharmacy
Привет!
Мы можем предложить дипломы любых профессий по приятным ценам.
dsac.es/купить-диплом-рпа/
купить срочно диплом ast-diploms.com .
http://indiapharmast.com/# buy medicines online in india
http://indiapharmast.com/# top 10 pharmacies in india
Привет, друзья!
Заказать документ о получении высшего образования можно в нашей компании в Москве.
diplomyx.com/kupit-diplom-sankt-peterburg
Успешной учебы!
indian pharmacy paypal: indian pharmacy online – online shopping pharmacy india
india pharmacy india online pharmacy reputable indian online pharmacy
https://indiapharmast.com/# best online pharmacy india
indian pharmacy online: world pharmacy india – india pharmacy
Здравствуйте!
Приобрести диплом ВУЗа
Мы готовы предложить документы ВУЗов, которые находятся на территории всей РФ. Вы можете заказать качественно сделанный диплом от любого заведения, за любой год, включая сюда документы старого образца СССР. Документы выпускаются на “правильной” бумаге высшего качества. Это дает возможности делать государственные дипломы, которые не отличить от оригинала. Они заверяются всеми требуемыми печатями и штампами.
http://www.eSurveysPro.com/Survey.aspx?id=19d83309-26ea-40b3-adbc-dbe80bd1adf3
Всегда вам поможем!.
п»їbest mexican online pharmacies: medicine in mexico pharmacies – mexico drug stores pharmacies
best canadian pharmacy online: safe reliable canadian pharmacy – canada pharmacy 24h
vipps approved canadian online pharmacy canadian pharmacy 24h com canada drugs online reviews
buy medicines online in india: buy medicines online in india – indian pharmacy online
Привет!
Всё, что нужно знать о покупке аттестата о среднем образовании без рисков.
Купить диплом о высшем образовании.
rsn360.ru/blogs/506/%D0%9D%D0%B8%D0%B7%D0%BA%D0%B8%D0%B5-%D1%86%D0%B5%D0%BD%D1%8B-%D0%B8-%D0%BF%D1%80%D0%B5%D0%BA%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B5-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D1%80%D0%B8%D0%BE%D0%B1%D1%80%D0%B5%D1%82%D0%B0%D0%B9-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD
mexican pharmacy: mexico drug stores pharmacies – buying from online mexican pharmacy
Добрый день!
Купить диплом ВУЗа.
video.listbb.ru/viewtopic.php?f=3&t=335
Хорошей учебы!
mexican pharmaceuticals online: mexico pharmacy – medication from mexico pharmacy
canadian drugstore online legitimate canadian pharmacies legit canadian pharmacy
best india pharmacy: india pharmacy mail order – indian pharmacies safe
http://indiapharmast.com/# indian pharmacy
indian pharmacy online п»їlegitimate online pharmacies india indian pharmacy online
canadian pharmacy online reviews: canadian pharmacy tampa – canadian medications
india online pharmacy: Online medicine order – indian pharmacy paypal
Добрый день!
Купить документ о получении высшего образования вы сможете в нашей компании в Москве.
asxdiplomik.com/otzyvy
mexican online pharmacies prescription drugs: mexican mail order pharmacies – п»їbest mexican online pharmacies
Jackie Chan https://karate-kid.jackiechan-ar.com was born in 1954 in Hong Kong under the name Chan Kong San.
Brazilian footballer Malcom https://al-hilal.malcom-ar.com (full name Malcom Felipe Silva de Oliveira) achieved great success in Al Hilal, one of the leading football teams in Saudi Arabia and the entire Middle East.
Привет!
Где купить диплом по актуальной специальности?
Приобрести диплом любого университета.
textualheritage.org/index.php?option=com_content&task=view&id=1067
Привет, друзья!
Рекомендации по безопасной покупке диплома о высшем образовании
narodovmnogo-omsk.ru/forum/user/4166/
Рады помочь!.
buy prescription drugs from india world pharmacy india india online pharmacy
mexican online pharmacies prescription drugs: pharmacies in mexico that ship to usa – pharmacies in mexico that ship to usa
https://canadapharmast.online/# best canadian pharmacy to order from
http://foruspharma.com/# mexican mail order pharmacies
Здравствуйте!
Как правильно купить диплом колледжа и пту в России, подводные камни
allukrnews.ru/vash-put-k-uspehu-kupit-diplom/
ed drugs online from canada: best canadian pharmacy to buy from – online canadian pharmacy reviews
http://indiapharmast.com/# indian pharmacy paypal
Привет!
Пошаговая инструкция по официальной покупке диплома о высшем образовании
dui.forum-top.ru/login.php?action=in
Рады оказать помощь!.
Привет!
Мы можем предложить документы ВУЗов, которые находятся в любом регионе РФ. Можно купить качественный диплом за любой год, включая сюда документы старого образца. Документы выпускаются на “правильной” бумаге высшего качества. Это дает возможности делать государственные дипломы, не отличимые от оригинала. Документы будут заверены всеми необходимыми печатями и штампами.
http://www.zdravamir.ru/index.php?option=com_myblog&show=on-on-n-n-n-n-n-n-.html&Itemid=
Привет!
Приобрести диплом университета
arusak-diploms-srednee.ru/kupit-diplom-magistra В
Успешной учебы!
купить диплом о среднем пермь http://www.diploms-x.com/ .
можно ли купить аттестат в школе можно ли купить аттестат в школе .
п»їlegitimate online pharmacies india indianpharmacy com Online medicine home delivery
precription drugs from canada: canadian discount pharmacy – canadian world pharmacy
pharmacy canadian: canadian pharmacy world reviews – buy drugs from canada
Привет!
Купить документ университета вы сможете у нас в Москве.
diploms-x.com/otzyvy
Успешной учебы!
canadian pharmacy price checker: real canadian pharmacy – canadian pharmacy oxycodone
Monica Bellucci https://dracula.monica-bellucci-ar.com one of the most famous Italian actresses of our time, has a distinguished artistic career spanning many decades. Her talent, charisma, and stunning beauty made her an icon of world cinema.
Edson Arantes https://santos.pele-ar.com do Nascimento, known as Pele, was born on October 23, 1940 in Tres Coracoes, Minas Gerais, Brazil.