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

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

25.04.2017, 02:07. Просмотров 915. Ответов 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
Ответы с готовыми решениями:

Преобразование 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 parser context ...

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; int APIENTRY...

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

2
h3mbr0
297 / 106 / 31
Регистрация: 12.03.2012
Сообщений: 433
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
6530 / 5754 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
25.04.2017, 09:38 3
Просто не используй char, делай сразу на WCHAR.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2017, 09:38

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

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

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


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

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

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