含义
- 其实就是编码问题
- 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://amoxildelivery.pro/# amoxicillin online canada
http://paxloviddelivery.pro/# paxlovid cost without insurance
пришла на йогу порно yoga-porno.ru .
Привет, друзья!
Легальная покупка диплома ПТУ с сокращенной программой обучения
antiugon.center/index.php?subaction=userinfo&user=ymuluzi
Поможем вам всегда!.
Привет!
Быстрая схема покупки диплома старого образца: что важно знать?
tradersopen.com/login/login
Всегда вам поможем!
paxlovid pill: paxlovid generic – paxlovid price
Juventus Football Club https://italy.juventus-ar.com is one of the most successful and decorated clubs in the history of Italian and world football.
Chelsea https://england.chelsea-ar.com is one of the most successful English football clubs of our time.
The history of one of France’s https://france.paris-saint-germain-ar.com most famous football clubs, Paris Saint-Germain, began in 1970, when capitalist businessmen Henri Delaunay and Jean-Auguste Delbave founded the club in the Paris Saint-Germain-en-Laye area.
Zinedine Zidane https://real-madrid.zinedine-zidane-ar.com the legendary French footballer, entered the annals of football history as a player and coach.
Travis Scott https://astroworld.travis-scott-ar.com is one of the brightest stars in the modern hip-hop industry.
Привет, друзья!
Мы готовы предложить документы ВУЗов, которые расположены на территории всей России. Можно заказать качественный диплом от любого учебного заведения, за любой год, в том числе документы СССР. Документы делаются на “правильной” бумаге высшего качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригинала. Они заверяются всеми требуемыми печатями и подписями.
4blb3v75w.blogofchange.com/28779234/%D0%9B%D0%B5%D0%B3%D0%BA%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC-%D0%B0%D1%82%D1%82%D0%B5%D1%81%D1%82%D0%B0%D1%82-%D0%B2-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-russian-diplom
http://amoxildelivery.pro/# can i buy amoxicillin over the counter
Здравствуйте!
Где заказать диплом специалиста?
Мы предлагаем документы ВУЗов, расположенных в любом регионе Российской Федерации. Можно купить качественно сделанный диплом от любого заведения, за любой год, в том числе документы старого образца СССР. Дипломы печатаются на “правильной” бумаге самого высшего качества. Это позволяет делать настоящие дипломы, которые не отличить от оригиналов. Документы будут заверены всеми необходимыми печатями и подписями.
Мы изготавливаем дипломы любой профессии по доступным тарифам.
asxdiplomik24.ru/kupit-diplom-vracha
Рады оказать помощь!
cost generic clomid now: can i get clomid prices – where to buy generic clomid without dr prescription
http://ciprodelivery.pro/# buy cipro online canada
Здравствуйте!
Быстрая покупка диплома старого образца: возможные риски
goup.hashnode.dev/vash-diplom-na-zakaz-bystro-i-nadezhno
Рады помочь!
Привет, друзья!
Как не стать жертвой мошенников при покупке диплома о среднем полном образовании
landik-diploms-srednee.ru/attestat-shkoly
https://ciprodelivery.pro/# cipro pharmacy
doxy 200: doxycycline for sale usa – how can i get doxycycline over the counter
Здравствуйте!
Мы изготавливаем дипломы психологов, юристов, экономистов и любых других профессий по приятным ценам.
newsato.ru/kupit-diplom-garantiya-kachestva-i-bezopasnosti
paxlovid india: paxlovid price – buy paxlovid online
Привет!
Заказать документ института можно в нашей компании в Москве.
asxdiplomik.com/kupit-diplom-o-srednem-obrazovanii
Удачи!
Привет!
Где приобрести диплом специалиста?
Купить диплом университета.
blogs.rufox.ru/~sonnick84/48075.htm
Здравствуйте!
Купить документ института можно у нас.
ast-diplomy24.ru/kupit-diplom-krasnoyarsk
can i buy clomid for sale: cost generic clomid for sale – can i get generic clomid price
Добрый день!
Где приобрести диплом специалиста?
http://www.soad.msk.ru/forum/viewforum.php?f=16
Удачи!
http://ciprodelivery.pro/# cipro
http://amoxildelivery.pro/# amoxicillin 250 mg capsule
Добрый день!
Мы изготавливаем дипломы любой профессии по разумным ценам.
allsportime.ru/oformite-diplom-onlayn-za-neskolko-minut
can i order generic clomid now: how to buy clomid without rx – can i order cheap clomid pills
http://canadapharmast.com/# canadian pharmacy india
indian pharmacies safe: buy medicines online in india – india pharmacy
https://canadapharmast.com/# canada drugs online review
Привет, друзья!
Купить диплом любого университета.
http://www.theclubtv.xyz/index.php?/gallery/image/115-%D0%BA%D0%B0%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D1%8B-%D1%81-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8-%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%82-%D0%BD%D0%B0-%D1%81%D0%B5%D0%B3%D0%BE%D0%B4%D0%BD%D1%8F%D1%88%D0%BD%D0%B8%D0%B9-%D0%B4%D0%B5%D0%BD%D1%8C/
india online pharmacy: pharmacy website india – best online pharmacy india
buying from online mexican pharmacy: best online pharmacies in mexico – mexico pharmacy
Привет, друзья!
Приобретение диплома ПТУ с сокращенной программой обучения в Москве
backshowtime.ru/kupit-diplomyi-s-polnoy-garantiey-kachestva
Привет!
Мы предлагаем быстро и выгодно купить диплом, который выполнен на оригинальной бумаге и заверен печатями, водяными знаками, подписями. Документ способен пройти лубую проверку, даже с применением специфических приборов. Решите свои задачи быстро и просто с нашими дипломами.
http://www.imdb.com/list/ls547814563/?ref_=lsedt_ov
Хорошей учебы!
mexico pharmacies prescription drugs: mexican mail order pharmacies – buying prescription drugs in mexico online
canadian drugs: canadian pharmacy world – safe canadian pharmacy
pharmacy website india top online pharmacy india top 10 online pharmacy in india
my canadian pharmacy: best rated canadian pharmacy – pharmacy wholesalers canada
[u][b] Привет![/b][/u]
Где приобрести диплом по необходимой специальности?
Мы можем предложить документы институтов, расположенных на территории всей РФ. Можно купить диплом за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Дипломы делаются на бумаге высшего качества. Это позволяет делать государственные дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и подписями.
[b]Мы можем предложить дипломы[/b] любой профессии по приятным тарифам.
[url=http://ast-diplom.com/kupit-diplom-voronezh]ast-diplom.com/kupit-diplom-voronezh[/url]
[u][b] Будем рады вам помочь![u][b]
[u][b] Привет![/b][/u]
[b]Мы можем предложить документы ВУЗов[/b], расположенных на территории всей Российской Федерации. Можно заказать диплом за любой год, указав подходящую специальность и оценки за все дисциплины. Документы делаются на бумаге высшего качества. Это дает возможность делать государственные дипломы, которые не отличить от оригинала. Они будут заверены необходимыми печатями и штампами.
[url=http://logozhajyzho.raidersfanteamshop.com/legko-pokupaem-diplom-v-internet-magazine-russian-diplom/]logozhajyzho.raidersfanteamshop.com/legko-pokupaem-diplom-v-internet-magazine-russian-diplom[/url]
Добрый день!
Официальная покупка школьного аттестата с упрощенным обучением в Москве
almet.listbb.ru/viewtopic.php?f=12&t=412
Окажем помощь!.
Привет, друзья!
Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий по доступным ценам.
horordark.ru/kupit-diplom-onlayn-nadezhno-i-udobno
Привет!
Наш сервис предлагает приобрести диплом высочайшего качества, неотличимый от оригинального документа без участия специалиста высокой квалификации со специальным оборудованием.
whdf.ru/forum/user/80285/
Удачи!
best india pharmacy: п»їlegitimate online pharmacies india – top 10 pharmacies in india
Здравствуйте!
Приобрести диплом университета
landik-diploms-srednee.ru/svidetelstvo-o-razvode В
Удачи!