Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Neroen
0 / 0 / 3
Регистрация: 13.10.2011
Сообщений: 15
#1

Преобразование const char >>wchar_t >>LPWSTR - C++

25.04.2017, 02:07. Просмотров 375. Ответов 2
Метки нет (Все метки)

Здравствуйте. Хотел чтобы прога сама определяла нужный ком порт путём перебора. Путём сложения нескольких чаров получается 3-й чар, который переводится в wchar, который переводится в LPWSTR. Без использования цикла вроде как всё хорошо. но с for ничего не получается. Кажется проблема в переводе char>wchar, тк в wchar значение не меняется. Вообще может ещё какой более человеческий способ предложите?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int testo = 1;
    char b[20] = "something";
    LPWSTR commendo;
 
    for (int i = 0; i <= 1; i++)
    {
        char a[20] = "COM";     //сброс первой части чара
 
        itoa(testo, b, 10);         //int to char
        strcat(a,b);                //соединяем 2 чара
                                                                                            
        wchar_t wtext[20];          
        mbstowcs(wtext, a, strlen(a)+1);        //запись const char в wchar_t
        LPWSTR commendo = wtext;                            //запись wchat_t в LPWSTR
        
        testo++;
    }
Вообще может более человеческий способ подскажите? Для адреса порта пойдут LPCWSTR, LPWSTR, LPCTSTR, TCHAR
Переменная с адресом:
C++
1
LPWSTR sPortName = L"COM1";
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2017, 02:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Преобразование const char >>wchar_t >>LPWSTR (C++):

Преобразование char* в const wchar_t *
Есть кусок кода, при компиляции выскакивает ошибка о о неудачном преобразовании...

Ошибка: Cannot convert 'char const[18]' to 'const wchar_t *'
Unit1.cpp(59): E2034 Cannot convert 'char const' to 'const wchar_t *' Full...

Cannot convert 'const wchar_t *' to 'const char *'
HMODULE hMod=GetModuleHandle(NULL); if(!hMod) { } HRSRC...

Fopen: невозможно преобразовать параметр 1 из 'LPWSTR' в 'const char *'
#include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include&lt;cstdio&gt; #include&lt;io.h&gt; ...

Cannot convert 'wchar_t *' to 'const char *'
Всем привет, не могу понять почему не работает :( String s=StringReplace(s,...

Cannot convert 'wchar_t &' to 'const char *'
Вообщем есть вот такой кусок кода: while(ListBox1-&gt;Items-&gt;Strings!=&quot; &quot;) {...

2
h3mbr0
290 / 100 / 28
Регистрация: 12.03.2012
Сообщений: 407
25.04.2017, 09:31 #2
А что не получается?
Цитата Сообщение от Neroen Посмотреть сообщение
LPWSTR commendo = wtext;* * * * * * * * * * * * * * //запись wchat_t в LPWSTR
Это запись (wchar_t*) в LPWSTR
После выхода из цикла wtext, на который указывает commendo будет не определен
Да и так вроде вполне по человечески, только можно сразу это в wchar_t делать
функция для конкатенации будет wcscat

Еще такой момент есть, что для портов с номером >1 цифры нужен префикс \\\\.\\ для winapi функций, так что перед открытием не забудьте его добавить
0
nmcf
6247 / 5559 / 2528
Регистрация: 14.04.2014
Сообщений: 23,371
25.04.2017, 09:38 #3
Просто не используй char, делай сразу на WCHAR.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2017, 09:38
Привет! Вот еще темы с решениями:

Преобразование wchar_t в char
Как преобразовать wchar_t в char ? Получаю wszName через MIB_IFTABLE.

Невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *"
Писал программу. Дошел до наложения текстур. Пытаюсь наложить 4-й час. Много...

Преобразование типов wchar_t в char и обратно
Добрый вечер уважаемые форумчане! Как можно перевести из wchar_t в char и...

Преобразование const char* в int
Всем привет. В исходниках одного проекта встретил вот такой участок. typedef...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru