crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Выполнение bash команд в программной среде Qt
neneTc
  опции профиля:
сообщение 10.4.2010, 8:39
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 9.3.2010
Пользователь №: 1519

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте. Как выполнить команду bash из Qt?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 10.4.2010, 8:50
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


лучше через C RTL:
#include <cstdlib>
system("your command");


Сообщение отредактировал DEADHUNT - 10.4.2010, 8:56
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
neneTc
  опции профиля:
сообщение 10.4.2010, 8:53
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 9.3.2010
Пользователь №: 1519

Спасибо сказали: 0 раз(а)




Репутация:   0  


Работает! Большое спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 10.4.2010, 12:32
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


можно еще что то вроде

shell = getenv("SHELL");
cmd = "любая программа или скрипт";
if (shell == NULL)
shell = "/bin/sh";

if ((pid = fork()) == 0) {
if ((pid = fork()) == 0) {
execl(shell, "как обзывать будем", "-ec", cmd, (char *) 0);
диагностика;
}
if (pid < 0) {
диагностика
exit(1);
}
}
так будет полный контроль
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.4.2010, 13:12
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(DEADHUNT @ 10.4.2010, 12:50) *
лучше через C RTL:
а почему не через QProcess?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 10.4.2010, 14:07
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


Цитата(Litkevich Yuriy @ 10.4.2010, 14:12) *
а почему не через QProcess?

а зачем использовать Qt где можно его не использовать? тем более использование QProcess более сложное + надо будет править для каждой ОС(например cmd или bash). мне например в Qt ещё не нравится что у них везде QString, лучше бы пошли по пути boost и использовали бы std::string(и прочие стандартные для C/C++ типы).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.9.2019, 0:00