Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
1

Преобразование типов в XE2

06.08.2012, 11:28. Показов 1076. Ответов 9
Метки нет (Все метки)

При компиляции проектов (работают в Builder C++ 6 в BDS 2006) в среде XE2 - возникают новые ошибки, в частности вида:
Cannot convert 'wchar_t *' to 'const chqr *'

Не смог сам разобраться, теперь преобразование типов более требовательное или просто настройки XE2 (которые по умолчанию) так на эту ситуацию влияют?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2012, 11:28
Ответы с готовыми решениями:

Преобразование типов
Ребята помогите разобраться с проблемой вот строка кода TrayIcon->Handle =...

Преобразование типов переменных
Доброго вечера. Можете показать при пример преобразования переменной TString в AnsiString ...

Преобразование типов.
Подскажите как правильно преобразовать типы в следующем фрагменте: int i; i=GetKeyboardType(0);...

преобразование типов
memcpy((void*)stroka,(void*)stroka,ykaz_bukva-ykaz_temp+1); что нужно поставить вместо void* чтоб...

9
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31187 / 20385 / 7940
Регистрация: 22.10.2011
Сообщений: 35,345
Записей в блоге: 6
06.08.2012, 11:32 2
Проект в XE2 по умолчанию Юникодный. В настройках проекта есть пункт "TChar maps to", так вот там выставлен wchar_t. Если тебе нужен ANSI - то переключи на char
0
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
06.08.2012, 14:15  [ТС] 3
В "Directories and Conditionals" в "_TCHAR maps to" во всех пунктах установил "char", но ситуация не изменилась ...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31187 / 20385 / 7940
Регистрация: 22.10.2011
Сообщений: 35,345
Записей в блоге: 6
06.08.2012, 14:50 4
Пример хотя бы одной строки, в которой возникает эта ошибка, можно посмотреть?
0
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
06.08.2012, 15:04  [ТС] 5
C++
1
2
AnsiString f...
fopen(f->FileName.c_str(), "w")
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31187 / 20385 / 7940
Регистрация: 22.10.2011
Сообщений: 35,345
Записей в блоге: 6
06.08.2012, 15:39 6
Ты уж реши, что такое f. Либо это AnsiString, тогда просто f.c_str(), и все прекрасно компилируется, см. аттач, либо что-то другое - тогда что именно?
0
Миниатюры
Преобразование типов в XE2  
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
06.08.2012, 16:38  [ТС] 7
ой... пардон...

TSaveDialog *f;
0
1115 / 786 / 100
Регистрация: 01.02.2011
Сообщений: 1,847
Записей в блоге: 1
06.08.2012, 16:45 8
TSaveDialog - юникодовый.
Поэтому его свойство FileName - типа UnicodeString.
А функция fopen принимает char*.
Поэтому нужно FileName преобразовать сначала в AnsiString, а потом в char*:

C++
1
2
     String s = SaveDialog1->FileName;
    fopen(AnsiString(s).c_str(), "w");
Тут String - это UnicodeString.
В 6-м билдере String'ом был AnsiString.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31187 / 20385 / 7940
Регистрация: 22.10.2011
Сообщений: 35,345
Записей в блоге: 6
06.08.2012, 16:46 9
Статья
явно показывает, как это делается после Builder XE:

C++
1
fopen(AnsiString(f->FileName).c_str(), "w");
1
1115 / 786 / 100
Регистрация: 01.02.2011
Сообщений: 1,847
Записей в блоге: 1
06.08.2012, 16:51 10
Можно еще так:
C++
1
2
String s = SaveDialog1->FileName;
    _wfopen(s.c_str(), L"w");
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.08.2012, 16:51

Преобразование типов.
Всем привет. Суть вопроса - ответ программы должен содержать только два знака после запятой. ...

Преобразование типов
Как преобразовать char * в float?

Преобразование типов
Всем доброго здоровья. Не могу решить простенькую задачу, уже не знаю что делать.Суть такова нужно...

преобразование типов
Здравствуйте, подскажите пожалуйста как преобразовать данные типа LPARAM в LPCWSTR

Преобразование типов
Кто знает, как преобразовать std::string в какой-либо другой тип? System::Convert не работает.

преобразование типов
помогите у меня программа выдает ошибки преобразования типов подскажите как должно быть чтоб все...


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

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

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