含义
- 其实就是编码问题
- 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
reputable mexican pharmacies online: best online pharmacies in mexico – reputable mexican pharmacies online
buying prescription drugs in mexico online: pharmacies in mexico that ship to usa – reputable mexican pharmacies online
reputable mexican pharmacies online: best online pharmacies in mexico – mexican rx online
http://mexicandeliverypharma.com/# mexican border pharmacies shipping to usa
mexico pharmacies prescription drugs: buying prescription drugs in mexico online – reputable mexican pharmacies online
pharmacies in mexico that ship to usa: purple pharmacy mexico price list – buying from online mexican pharmacy
Immerse yourself in the charm of France https://france.life-in-france.net a land of fine cuisine, impressive architecture and picturesque landscapes. An unrivaled lifestyle.
Здравствуйте!
Мы можем предложить дипломы любой профессии по приятным ценам.
mans-diplomy.ru
mexico drug stores pharmacies buying from online mexican pharmacy reputable mexican pharmacies online
Здравствуйте!
Официальное получение диплома техникума с упрощенным обучением в Москве
gaiassulin.com/диплом-о-среднем-образовании-как-и-где.html
Поможем вам всегда!.
L’histoire epique du FC Barcelone https://espagne.barcelona-fr.com 120 ans de triomphes et de tribulations.
Indibet https://indibeti.in is a premier online casino offering a wide array of games including slots, table games, and live dealer options. Renowned for its user-friendly interface and robust security measures, Indibet ensures a top-notch gaming experience with exciting bonuses and 24/7 customer support.
download screen capture screen capture windows 10
Здравствуйте!
Сколько стоит получить диплом высшего и среднего образования легально?
landik-diploms-srednee.ru/kupit-diplom-v-omske В
purple pharmacy mexico price list reputable mexican pharmacies online п»їbest mexican online pharmacies
Привет!
Заказать документ ВУЗа
diplomyx.com/kupit-diplom-nizhnij-novgorod
buying prescription drugs in mexico medicine in mexico pharmacies mexican online pharmacies prescription drugs
mexico pharmacies prescription drugs: mexico pharmacies prescription drugs – mexican border pharmacies shipping to usa
mexican rx online: buying prescription drugs in mexico online – purple pharmacy mexico price list
п»їbest mexican online pharmacies: mexico pharmacies prescription drugs – mexican online pharmacies prescription drugs
medicine in mexico pharmacies: mexico drug stores pharmacies – mexico drug stores pharmacies
https://mexicandeliverypharma.com/# mexican mail order pharmacies
mexican online pharmacies prescription drugs: mexico pharmacies prescription drugs – mexico pharmacies prescription drugs
п»їbest mexican online pharmacies: п»їbest mexican online pharmacies – mexican drugstore online
https://mexicandeliverypharma.online/# mexico drug stores pharmacies
Свежие новости https://diesel.kyiv.ua автомобильного рынка, новинки автопрома
The fascinating story of Ja Morant’s https://grizzlies-de-memphis.ja-morant-fr.com meteoric rise, from status from rookie to leader of the Memphis Grizzlies and rising NBA superstar.
Авто статті https://road.kyiv.ua з порадами з ремонту та обслуговування. Авто блог з професійними порадами.
http://mexicandeliverypharma.com/# mexican pharmaceuticals online
Автомобільні новини https://sedan.kyiv.ua України та світу, тест-драйви автомобілів, автоспорт
Привет, друзья!
Реально ли приобрести диплом стоматолога? Основные этапы
mans-diploms.ru
создание сайта разработчики сайта https://biztest.ru .
mexican pharmaceuticals online: buying from online mexican pharmacy – mexican mail order pharmacies
mexican rx online: п»їbest mexican online pharmacies – п»їbest mexican online pharmacies
Добрый день!
Приобрести документ института можно у нас в столице.
ast-diplomas.com/kupit-diplom-tehnikuma-kolledzha
Привет, друзья!
Заказать диплом о высшем образовании.
bakinsky-dvorik.ru/club/user/127071/blog/4731/
Здравствуйте!
Где приобрести диплом специалиста?
gamereleasetoday.com/купить-диплом-гознак-надежные-решени/
PrestigeAvto https://prestige-avto.com.ua України автомобільний журнал
Найбільший автомобільний портал https://mirauto.kyiv.ua України
Щоденні новини https://k-moto.com.ua із автомобільного середовища. Поради автоаматорам. Тест-драйви автомобілів з пробігом та огляди новинок
Undress AI & Bulk Nude AI Generator https://nudifyonline.vip. Make AI nudes and bulk generate undress AI photos of any girl for almost free!
DMV Test на русском языке https://papadmv.com тесты с ответами ПДД США 2024. Тренировочные dmv test на русском для сдачи на права, изучите правила дорожного движения США для разных штатов.
Авто статті https://black-star.com.ua з порадами з ремонту та обслуговування
Добрый день!
Мы изготавливаем дипломы любой профессии по приятным ценам.
mans-diplomyxx.ru
Автомобільні новини https://avtonews.kyiv.ua України. Все для автовласника.
Автоновини України https://avtomobilist.kyiv.ua огляди машин та новини для автомобілістів
Автомобільні новини https://autonovosti.kyiv.ua України та світу, тест-драйви нових авто, поради експертів
Авто статті https://bestauto.kyiv.ua з порадами з ремонту та обслуговування, авто блог з професійними порадами, огляди новинок
Начните экономить с нашим промокодом прямо сейчас! free-promocode.ru .
Авто статті https://automobile.kyiv.ua з порадами з ремонту та обслуговування, авто блог з професійними порадами, огляди новинок