Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
Tilk
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 79
#1

char* -> LPCWSTR - C++

13.10.2010, 04:41. Просмотров 2660. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток.

Пытаюсь перевести char* строчку (строка текста переменной длины). Собственно код:

C++
1
2
3
4
5
6
7
char* LastChar;
LPWSTR result;
 
//...
 
MultiByteToWideChar(CP_ACP, 0, LastChar, 1, result, sizeof(result)/sizeof(WCHAR));  
Text.PrintText(5, 2, result);
А на старте проекта, еще в конструкторе общего класса задаю LastChar ручками.
C++
1
    LastChar = "g";
Компилятор не ругается, но на выходе ничего не вижу. С выводом текста все в порядке, т.к. если убрать MultiByteToWideChar и сделать это:
C++
1
result = L"g"
то текст вижу.

Мне это нужно для того, чтобы обрабатывать сообщение WM_CHAR и реализовать набор строки текста с клавиатуры в рамках своей функции вывода текста. Таким образом макросы _T, L и TEXT(), которые так выручали раньше в этот раз не подходят. Как тут быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 04:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос char* -> LPCWSTR (C++):

Как преобразовать LPCWSTR в char*? - C++
Здравствуйте! Как преобразовать LPCWSTR в char*?

Невозможно преобразовать параметр 1 из 'const char [15]' в 'LPCWSTR' - C++
с сайта скачала прогу которая должна рисовать сферу, но при компилировании выходит ошибка:error C2664: auxInitWindowW: невозможно...

Исправить ошибку cannot convert parameter 1 from 'const char [15]' to 'LPCWSTR' (CopyFile) - C++
Народ, помогите, не могу разобраться с "CopyFile(LPCTSTR fromName, LPCTSTR toName, BOOL failIfExists);". Вопрос таков: почему при...

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' - C++
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual...

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" - C++
msoftcon.h //msoftcon.h //declarations for Lafore's console graphics functions //uses Window's console functions #ifndef...

Аргумент типа "const char*" несовместим с параметром типа "LPCWSTR" - C++
хочу запустить paint с visual studio но выдает ошибку под словами open, filename, строка 6#include <iostream> #include <windows.h> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.10.2010, 10:22 #2
Так попробуйте.
WCHAR result[32]; //размер на свой выбор.

Добавлено через 11 минут
LPWSTR result; //это указатель на строку типа WCHAR.
Для перевода в строку требуется выделенная память.
В указателе result должен быть адрес выделенной памяти.
Tilk
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 79
13.10.2010, 13:10  [ТС] #3
Genius Ignat
Ага, помогло. Уже который раз забываю память выделять, работая с char*. Большое спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2010, 13:10
Привет! Вот еще темы с ответами:

Ошибка: argument of type "char *" is incompatible with parameter of type "LPCWSTR" - C++
Помогите, пожалуйста, исправить ошибку в программе. #include <iostream> #include "stdio.h" #include "windows.h" #include <conio.h> ...

Аргумент типа "char *" несовместим с параметром типа "LPCWSTR" - C++
Что такое и с чем его едят 1 IntelliSense: аргумент типа "char *" несовместим с параметром типа...

Побороть LPCWSTR - C++
Всем привет. Пишу программку на WinApi но столкнулся с простой проблемой. Мне нужно программно вставить текст в Edit. Код примерно такой: ...

String и LPCWSTR - C++
Здравствуйте, есть функция, показывающая дату создания файла и есть такая строчка: LPCWSTR fname1 = L"test.txt"; Дело в том, что в...


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

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

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