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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
22.02.2013, 21:05     значение типа "char *" нельзя присвоить сущности типа "LPWSTR" #1
значение типа "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);
 
}
помогите чего тут не работает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 21:05     значение типа "char *" нельзя присвоить сущности типа "LPWSTR"
Посмотрите здесь:

МАССИВЫ: динамические мас.значение типа "int *" нельзя присвоить сущности типа "int" C++
C++ Error: значение типа "const char" нельзя присвоить сущности типа "double"
аргумент типа "char *" несовместим с параметром типа "LPCWSTR" C++
C++ Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'"
Error C2678: бинарный "<<": не найден оператор, принимающий левый операнд типа "std::ifstream" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.02.2013, 21:07     значение типа "char *" нельзя присвоить сущности типа "LPWSTR" #2
C++
1
2
3
#include <tchar.h>
...
lvc.pszText = _T("1");
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
22.02.2013, 21:14  [ТС]     значение типа "char *" нельзя присвоить сущности типа "LPWSTR" #3
Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
2
3
#include <tchar.h>
...
lvc.pszText = _T("1");
А не подскажите как st подставить и вообще не понимаю как работать в С со строками. Точнее я знаю что представляет из себя char (тип для представления одного символа) а вот допустим мне надо присвойить строку напрмер аналог на delphi

string a, b, с;

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

с:= a+b;
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11837 / 6816 / 771
Регистрация: 27.09.2012
Сообщений: 16,908
Записей в блоге: 2
Завершенные тесты: 1
22.02.2013, 21:18     значение типа "char *" нельзя присвоить сущности типа "LPWSTR" #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);
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
22.02.2013, 23:44     значение типа "char *" нельзя присвоить сущности типа "LPWSTR" #5
Вы как-то в начале хорошему научились, а потом решили про С-строки вспомнить...
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
22.02.2013, 23:51     значение типа "char *" нельзя присвоить сущности типа "LPWSTR" #6
Цитата Сообщение от Wolkodav Посмотреть сообщение
а потом решили про С-строки вспомнить...
С-строки как раз-таки хороши. Они напоминают тебе, что ты работаешь не в абстрактном вакууме, а на вполне реальной машине, занимая конкретную память, где строка это не некий "объект", а область памяти, с которой ты можешь делать всё что пожелаешь! Всё что можно и нельзя.

По теме: в Visual Studio следует настроить проект на использование однобайтных строк. Меню>Project>Properties>Configuration Properties>General>Character Set
выставить
Use Multi-Byte Character Set
Возможно, в разных студиях путь к этой строчке слегка отличается
Yandex
Объявления
22.02.2013, 23:51     значение типа "char *" нельзя присвоить сущности типа "LPWSTR"
Ответ Создать тему
Опции темы

Текущее время: 14:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru