Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
n971030
153 / 100 / 4
Регистрация: 23.01.2010
Сообщений: 1,317
#1

Значение типа "char *" нельзя присвоить сущности типа "LPWSTR" - C++

22.02.2013, 21:05. Просмотров 3152. Ответов 9
Метки нет (Все метки)

значение типа "char *" нельзя присвоить сущности типа "LPWSTR"


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void AddColToListView(char *st, int sub, int size)
{
    LVCOLUMN lvc;
    lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
    lvc.iSubItem = sub;
    lvc.pszText = L"1";                 //-----------------> ошибка а надо вобще поставить st
    lvc.cx = size;
    lvc.fmt = LVCFMT_LEFT;
 
    ListView_InsertColumn(hListView_1, sub, &lvc);
    //ListView_InsertColumn(hListView_2, sub, &lvc);
 
}
помогите чего тут не работает.
http://www.cyberforum.ru/cpp-beginners/thread1838351.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 21:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Значение типа "char *" нельзя присвоить сущности типа "LPWSTR" (C++):

Error: значение типа "const char" нельзя присвоить сущности типа "double"
#include <iostream> #include <iomanip>// using namespace std; void...

Ошибка: значение типа "const char*" нельзя присвоить сущности типа "char*"
Появилось в 17 студии, как это исправить?

Значение типа "const char *" нельзя использовать для инициализации сущности "char*"
Книга Пратта, Лекции и Упражнения. 750 страница, листинг 14.8. В объявлении...

Ошибка преобразования: значение типа "float *" нельзя присвоить сущности типа "float"
Помогите исправить.Значение типа "float *" нельзя присвоить сущности типа float...

Динамические массивы: значение типа "int *" нельзя присвоить сущности типа "int"
МАССИВЫ: динамические массива ОШИБКА:значение типа "int *" нельзя присвоить...

9
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.02.2013, 21:07 #2
C++
1
2
3
#include <tchar.h>
...
lvc.pszText = _T("1");
0
n971030
153 / 100 / 4
Регистрация: 23.01.2010
Сообщений: 1,317
22.02.2013, 21:14  [ТС] #3
Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
2
3
#include <tchar.h>
...
lvc.pszText = _T("1");
А не подскажите как st подставить и вообще не понимаю как работать в С со строками. Точнее я знаю что представляет из себя char (тип для представления одного символа) а вот допустим мне надо присвойить строку напрмер аналог на delphi

string a, b, с;

a := 'Это первая строка';
b := 'Это вторая строка'

с:= a+b;
0
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,910
Записей в блоге: 3
Завершенные тесты: 1
22.02.2013, 21:18 #4
C++
1
2
3
4
std::string a,b,c;
a="My ";
b="string";
c=a+b;
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
char a[1024];
char b[1024];
char c[2048];
strcpy(a,"My ");
strcpy(b,"string");
strcpy(c,a);
strcat(c,b);
0
Wolkodav
609 / 462 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
22.02.2013, 23:44 #5
Вы как-то в начале хорошему научились, а потом решили про С-строки вспомнить...
0
Kuzia domovenok
2207 / 1976 / 443
Регистрация: 25.03.2012
Сообщений: 6,921
Записей в блоге: 1
22.02.2013, 23:51 #6
Цитата Сообщение от Wolkodav Посмотреть сообщение
а потом решили про С-строки вспомнить...
С-строки как раз-таки хороши. Они напоминают тебе, что ты работаешь не в абстрактном вакууме, а на вполне реальной машине, занимая конкретную память, где строка это не некий "объект", а область памяти, с которой ты можешь делать всё что пожелаешь! Всё что можно и нельзя.

По теме: в Visual Studio следует настроить проект на использование однобайтных строк. Меню>Project>Properties>Configuration Properties>General>Character Set
выставить
Use Multi-Byte Character Set
Возможно, в разных студиях путь к этой строчке слегка отличается
0
WLF
0 / 0 / 1
Регистрация: 06.12.2013
Сообщений: 38
19.05.2018, 18:16 #7
Подниму эту старую тему, т.к. я столкнулся с такой же ошибкой (сообщение №1) в 17-й студии, причем советы из сообщений №2 и №6 не помогают. И вообще, независимо от настройки "Использовать многобайтную кодировку" или "Использовать Юникод" все следующие строки выдают ошибку:
C++
1
2
3
4
   lvc.pszText = "Message";
   lvc.pszText = L"Message";
   lvc.pszText = _T("Message");
   lvc.pszText = TEXT("Message");
0
Azazel-San
Mental handicap
123 / 123 / 65
Регистрация: 24.11.2015
Сообщений: 819
Завершенные тесты: 1
19.05.2018, 18:53 #8
WLF,
кагбы да,
C++
1
2
LPTSTR lstr1 = TEXT("Hello"); // не константа
LPCTSTR lstr2 = TEXT("Hello"); // константа
0
WLF
0 / 0 / 1
Регистрация: 06.12.2013
Сообщений: 38
19.05.2018, 19:38 #9
Дык как мне написать чтобы исправить ошибку?
Я где-то в подсознании понимаю, что пытаюсь засунуть в элемент структуры не указатель на текст, а сам текст, но что-то вообще не догоняю как сделать правильно.
0
Azazel-San
Mental handicap
123 / 123 / 65
Регистрация: 24.11.2015
Сообщений: 819
Завершенные тесты: 1
19.05.2018, 20:11 #10
WLF,
C++
1
lvc.pszText = (LPTSTR)TEXT("hello");
??

Добавлено через 1 минуту
Цитата Сообщение от WLF Посмотреть сообщение
Я где-то в подсознании понимаю, что пытаюсь засунуть в элемент структуры не указатель на текст, а сам текст, но что-то вообще не догоняю как сделать правильно.
не верно понимаете..
1
19.05.2018, 20:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2018, 20:11
Привет! Вот еще темы с решениями:

Ошибка: "Значение типа float нельзя присвоить сущности типа int"
При компиляции в Visual C++ получается такая ошибка: &quot;Значение типа float...

Значение типа "void" нельзя использовать для инициализации сущности типа "int"
Не понимаю, почему компилятор считает, что s.pop() это значение типа &quot;void&quot;.....

Значение типа "int" нельзя использовать для сущности типа "conduction"
Добрый вечер. кто может проверить в своем компиляторе, работает данная...

Значение типа "int*" нельзя присвоить сущности типа int
#include &lt;iostream&gt; using namespace std; int sort(int k, int p, int b, int...


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

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

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