Russian Qt Forum
Октябрь 02, 2024, 23:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перевести QString в char*  (Прочитано 3782 раз)
Martiro
Гость
« : Октябрь 29, 2010, 09:19 »

Есть фукция в библиотеке:
Код
C
extern "C" MY_EXPORT int runCalcByMAP(TParamDesc & st, char * mapName);
, где TParamDesc - некая структура, а mapName - путь к файлу.
Начинаю ее вызывать. Принимаю в качестве пути к файлу QString из диалога.
Пытаюсь конвертить его в char*
Код
C
QString MapName;
//...
char * mapName = 0;
mapName = (char *)(MapName.data()->toAscii());
И ничего не выходит.
Ради интереса пытался тупо в лоб прописать
Код
C
mapName = "c:\moscow\moscow.map";
убираются все слэши.  Непонимающий

Qt 4, WinXP.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Октябрь 29, 2010, 09:31 »

Нужно писать двойные слеши в пути, т.е.
Код:
mapName = "c:\\moscow\\moscow.map";
Записан

ArchLinux x86_64 / Win10 64 bit
merke
Гость
« Ответ #2 : Октябрь 29, 2010, 09:36 »

 QString str1 = "Test";
 QByteArray ba = str1.toLatin1();
 const char *c_str2 = ba.data();
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Октябрь 29, 2010, 13:35 »

const char *c_str2 = ba.constData();
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Martiro
Гость
« Ответ #4 : Октябрь 29, 2010, 14:17 »

Благодарю! Вариант Александра тоже работает. =)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.137 секунд. Запросов: 23.