含义
- 其实就是编码问题
- 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-aktovogo-zala.ru .
видеостены купить видеостены купить .
Україна останні новини https://lentanews.kyiv.ua головні новини та останні події
Привет, друзья!
Быстрая схема покупки диплома старого образца: что важно знать?
myweektour.ru/legkiy-sposob-poluchit-diplom/
Свіжі новини України https://lenta.kyiv.ua останні новини з-за кордону, новини політики, економіки, спорту, культури.
Популярные репортажи https://infotolium.com в больших фотографиях, новости, события в мире
Україна свіжі новини https://kiev-pravda.kiev.ua останні події на сьогодні
Останні новини України https://gromrady.org.ua сьогодні онлайн – головні події світу
Новинний ресурс https://actualnews.kyiv.ua про всі важливі події в Україні та світі.
Новини сьогодні https://gau.org.ua останні новини України та світу онлайн
раскрутка сайта в казани продвижение
поисковая оптимизация и продвижение сайтов https://seo-optimizatsia.ru
Добрый день!
Приобрести документ университета можно у нас в столице.
ast-diplomas24.ru/kupit-diplom-o-srednem-obrazovanii
Успешной учебы!
Здравствуйте!
Официальная покупка диплома ПТУ с упрощенной программой обучения
http://www.kikwit.alobi.cd/2024/06/30/купить-диплом-в-ессентуки/
Добрый день!
Мы изготавливаем дипломы психологов, юристов, экономистов и прочих профессий по приятным ценам.
http://www.maliapd.org/plateforme-gt/2024/06/30/купить-диплом-в-люберцах/
Здравствуйте!
Купить диплом университета.
http://www.uscgq.com/forum/posts.php?forum=general&id=259092
seo продвижение недорого https://seo-raskrutka43.ru
поисковое продвижение стоимость сео продвижение сайта цена казань
Помощь студентам в выполнении рефератов https://referatkupit-oline.ru. Низкие цены и быстрое написание рефератов!
Добрый день!
Приобрести документ университета можно в нашем сервисе.
ast-diploms.com/kupit-diplom-chelyabinsk
оснащение переговорных комнат оснащение переговорных комнат .
Красивая музыка https://melodia.space для души слушать онлайн.
переговорные комнаты под ключ переговорные комнаты под ключ .
Accessibility Team Meeting Notes https://make.wordpress.org/accessibility/2021/06/11/accessibility-team-meeting-notes-june-11-2021
Заказать курсовую работу https://kursovye-napishem.ru в Москве: цены на написание и выполнение, недорого
Заказать дипломную работу https://diplomzakazat-oline.ru недорого. Дипломные работы на заказ с гарантией.
купить квартиру в новостройке недорого https://kvartira-novostroyka2.ru
Заказать контрольную работу https://kontrolnye-reshim.ru, недорого, цены. Решение контрольных работ на заказ срочно.
Помощь в решении задач https://zadachireshaem-online.ru. Опытные авторы с профессиональной подготовкой окажут консультацию в решении задач на заказ недорого, быстро, качественно
купить новую квартиру застройщик купить 3 комнатную квартиру
купить 1 комнатную новостройку купить 2 комнатную квартиру
Добрый день!
Приобрести документ о получении высшего образования вы можете у нас в столице.
ast-diploms24.ru/otzyvy
Удачи!
Здравствуйте!
Как официально купить аттестат 11 класса с упрощенным обучением в Москве
arusak-diploms-srednee.ru/kupit-diplom-magistra В
Добрый день!
Мы изготавливаем дипломы психологов, юристов, экономистов и прочих профессий по невысоким ценам.
androidinweb.ru/diplomyi-ot-luchshih-obrazovatelnyih-uchrezhdeniy
квартиры от застройщика цены квартиры с отделкой от застройщика
купить новостройку недорого купить новостройку в ипотеку
купить 1 комнатную новостройку квартиры от застройщика цены жк
Hi there, this weekend is good in support of me, for the reason that this occasion i am reading this wonderful educational piece of writing here at my residence.
https://tunein.com/podcasts/Arts–Culture-Podcasts/COPE—Der-Empowerment-Podcast-p2348890/
купить квартиру от застройщика цены купить 2 квартиру новостройке
купить 2 комнатную квартиру https://kvartirukupit43.ru
недвижимость новостройки купить https://newkvartiry-spb.ru
купить новостройку с ремонтом купить 3 комнатную квартиру
купить новостройку недорого https://novye-kvartiryspb.ru
рейтинг капперов рейтинг капперов .
[u][b] Привет![/b][/u]
[b]Мы изготавливаем дипломы[/b] любой профессии по приятным тарифам.
[url=http://webyourself.eu/blogs/358414/ упите-?ипломы-Ѕыстро-и-Ќадежно/]webyourself.eu/blogs/358414/ упите-?ипломы-Ѕыстро-и-Ќадежно[/url]
рейтинг прогнозистов http://rejting-kapperov12.ru/ .
проверенные капперы проверенные капперы .
Добрый день!
Возможно ли купить диплом стоматолога, и как это происходит
pokupki.bestforums.org/viewtopic.php?f=30&t=17800&p=28558#p28558
Поможем вам всегда!.
современное оборудование для конференц зала современное оборудование для конференц зала .
can you get clomid: order cheap clomid without prescription – order clomid prices