![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Игорь_* |
![]()
Сообщение
#1
|
Гости ![]() |
Здравствуйте, программисты!
Вот сложность возникла. Нужно написать прогу кроссплатформенную на Qt, но там не все прокатывает, что прокатывает в обычном С++. Вот код:
В обычном си++ компилит нормально и запускается, а здесь компилятор ругается. Он показывает на последнюю строчку и пишет "cannot convert "QCharRef' to 'char' in assignment". Что делать? |
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
...=user.c_str();
только при чём тут QString - непонятно ![]() а ещё, складывается впечатление, что что-то недоговаривается. Какая задача то ? Сообщение отредактировал Алексей1153 - 30.10.2010, 18:11 |
|
|
Гость_Игорь_* |
![]()
Сообщение
#3
|
Гости ![]() |
Да это я продолжаю темы из предыдущего топика, где мне надо было в командную строку передать команды.
Прошу прощения, пример вытащил, не задумываясь о синтаксисе, из обычного с++. Вот как код выглядит у меня в Qt:
Во втором варианте компиль нугается: "'class QString' has no member named 'c_str'" |
|
|
Алексей1153 |
![]()
Сообщение
#4
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
имхо, нужно сделать как в начале, только вот так
const char* user="Строчка"; const char* user="Администратор"; const char* pass="123"; const char* qwe2="net user "; |
|
|
Гость_Игорь_* |
![]()
Сообщение
#5
|
Гости ![]() |
Тут идея вот в чем, переменные user и pass будут передаваться этой программе строкой, поэтому я заморачиваюсь со стрингом
|
|
|
Алексей1153 |
![]()
Сообщение
#6
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
так передавай как const char* да и всё
![]() а вытащить указатель на строку можно так: constData() |
|
|
Гость_Игорь_* |
![]()
Сообщение
#7
|
Гости ![]() |
При отладочной компиляции: Цитата Приложение остановлено, так как оно получило сигнал от операционной системы. Сигнал: SIGSEGV Назначение: Segmentation fault При обычной компиляции: Цитата Запускается С:\Qt\2010.05\qt\Clients-build-desktop\debucj\Clients.exe... C:\Qt\2010.05\qt\C3^ents-huild-desktop\dehutj\Clients.exe завершился с кодон -1073741819 Если убрать комментарии с system(qwe2); то ошибка: "cannot convert 'const char**' to 'const char*' for argument 'Г to 'int system(const char*)'" Убираю со всех переменных слово const, ошибка "cannot convert char** to const char* for argument 1 to int system(const char*)" |
|
|
Гость_Игорь_* |
![]()
Сообщение
#8
|
Гости ![]() |
Сигнал был где первый цикл for(i=0;user[i]!=0;i++)qwe2[9+i]=user[i];
|
|
|
Алексей1153 |
![]()
Сообщение
#9
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Игорь, а я вовсе не так показывал. Откуда у тебя квадратные и фигурные скобки взялись?
Цитата const char* user[]={"Администратор"}; const char* pass[]={"123"}; а тут вообще капец Цитата const char* a[]={" "}; const char* qwe2[]={"net user "}; это должны быть переменные, а не константы. короче:
для чего тебе массив "a" - я не понял И, всё-таки, расскажи про задачу, а то хрень какую-то пишешь... |
|
|
kwisp |
![]()
Сообщение
#10
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Гость_Игорь_
код с циклами непонятен ни капли. зачем так делать ? опиши по-подробнее задачу словами. если ты из сигнала получаешь QString, а функция system принимает const char*, то в классе QString есть специализированные методы для преобразования .toAscii().constData() - вернет const char* |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 5.6.2025, 2:01 |