Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
9 / 9 / 2
Регистрация: 11.11.2011
Сообщений: 208
1

Можно узнать результат выполнения system()?

25.12.2012, 19:52. Показов 1968. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно узнать результат выполнения system()?
Например, system("abc") вернёт, что код не выполнился, т.к. нет такой команды, а system("MD folder") вернёт что код выполился.

То есть мне надо при нажатии на кнопке выводить ответ команды OK или Произошла ошибка.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2012, 19:52
Ответы с готовыми решениями:

Подскажите, пожалуйста, где можно подробнее узнать о библиотеки <ios> и параметре system(.);
заранее спасибо.

SQL. узнать результат выполнения запроса
Дана реляционная модель базы данных Таблица Customer содержит информацию о клиентах...

Можно ли перенаправить результат выполнения цикла на комманду?
Здравствуйте. С наступившим! Не могу разобраться с перенаправлением. Если с цикла вывод...

Получить результат выполнения команды "system"
нужно получить результат команды system,например system(&quot;pause&quot;),нужно сделать так,чтобы выводимая...

15
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 19:56 2
Первое что приходит в голову результат выводи в файл, а затем парсь его
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.12.2012, 19:59 3
Функция возвращает 0 - успешно, -1 (или 1?) - ошибка. Соответственно результат можно присвоить переменной целого типа. В гугле есть информация.
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 20:27 4
http://www.cplusplus.com/reference/cstdlib/system/
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.12.2012, 20:39 5
Цитата Сообщение от BumerangSP Посмотреть сообщение
-1 (или 1?) - ошибка.
Да неужели?!

Добавлено через 1 минуту
devenge, смотрите ошибку в errno
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 20:42 6
От туда
If command is not a null pointer, the value returned depends on the system and library implementations, but it is generally expected to be the status code returned by the called command, if supported.
Добавлено через 1 минуту
Только я не понял что надо именно узнать ? запустилась ли прога? или результат её выполнения?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.12.2012, 20:47 7
go, что Вас удивляет?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.12.2012, 20:52 8
Цитата Сообщение от BumerangSP Посмотреть сообщение
go, что Вас удивляет?
Я эту часть процитировал.
Цитата Сообщение от BumerangSP Посмотреть сообщение
-1 (или 1?) - ошибка.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.12.2012, 20:58 9
см. вложение
Миниатюры
Можно узнать результат выполнения system()?  
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.12.2012, 21:11 10
BumerangSP,
If command is a null pointer, the function returns a non-zero value in case a command processor is available and a zero value if it is not.

If command is not a null pointer, the value returned depends on the system and library implementations, but it is generally expected to be the status code returned by the called command, if supported.
0
9 / 9 / 2
Регистрация: 11.11.2011
Сообщений: 208
25.12.2012, 21:16  [ТС] 11
Всем спасибо! Решил таким способом.

C++
1
2
3
4
5
6
7
// Windows Forms Application
int cmd = system("convert");
 
if( cmd == 0 )
    label1->Text = L"Код выполнен";
else
    label1->Text = L"Произошла ошибка";
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.12.2012, 21:17 12
Цитата Сообщение от devenge Посмотреть сообщение
Всем спасибо! Решил таким способом.
Поздравляю. Все правильно.
0
BumerangSP
25.12.2012, 21:20
  #13

Не по теме:

go, ну, разве что на разных компиляторах. Это да. Оно ж и в некоторых сишных библиотеках код возвращает.

0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 21:33 14
Если речь про успешность запуска, то можно ShеllExecute() запускать и не парится, а потом GetLastError() если ошибка...
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
25.12.2012, 21:41 15
Цитата Сообщение от Avazart Посмотреть сообщение
Если речь про успешность запуска,
WinExec
А лучше CreateProcess
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 22:05 16
Цитата Сообщение от go Посмотреть сообщение
WinExec
А лучше CreateProcess
А это от того что нужно... если речь только про запуск то ShellExecute спарвится,
If the function succeeds, it returns a value greater than 32. If the function fails, it returns an error value that indicates the cause of the failure. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Windows applications. It is not a true HINSTANCE, however. It can be cast only to an int and compared to either 32 or the following error codes below.
http://msdn.microsoft.com/en-u... s.85).aspx

а если нужно ждать окончание выполнения программы то CreateProcess() с ф-циями ожидания ( WinExec() устарела )
0
25.12.2012, 22:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2012, 22:05
Помогаю со студенческими работами здесь

Можно в C# узнать к какому типу переменной возвращает результат из метода
Типа: Типа: object test() { if(offset(int)) return 1; else if(offset(string) return...

Результат выполнения программы в консоли пропадает после выполнения скрипта
нужно отпарсить файл , но мне надо видеть что выводит сценарий , иначе мне его неотладить....

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

Остановка сразу после выполнения system()
вошм пишу прогу с OGL решил попробовать вывести кое какие данные в CMD но трабла в том что при...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru