Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2016, 13:29   #1
troyan90
Пользователь
 
Регистрация: 23.06.2011
Сообщений: 54
По умолчанию vs 2015 управление консольными программами через system()

Нужно из программы на с++ запустить эксешник с параметрами. Вот код:
Код:
system("\"c:\\Program Files\\Firebird\\Firebird_1_5\\bin\\isql.exe\" CONNECT \"C:\\Program Files\\DB\\postdb.fdb\" -u 'SYSDBA' -p 'masterkey' -i \"sql\\new.sql\" -o \"log.txt\"");
Получаю ошибку во вложении. Что я не так делаю?
Изображения
Тип файла: jpg Снимок.JPG (14.3 Кб, 39 просмотров)
troyan90 вне форума Ответить с цитированием
Старый 27.05.2016, 04:22   #2
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию

пробел в "program files" тут воспринимается как окончание команды/аргументов(не знаю как правильно)
может быть "Program%20Files" поможет
BoozZzilla вне форума Ответить с цитированием
Старый 27.05.2016, 10:37   #3
troyan90
Пользователь
 
Регистрация: 23.06.2011
Сообщений: 54
По умолчанию

Разобрался вроде. надо использовать сокращение
Код:
C:\Progra~1\...
troyan90 вне форума Ответить с цитированием
Старый 27.05.2016, 10:52   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от BoozZzilla Посмотреть сообщение
пробел в "program files" тут воспринимается как окончание команды/аргументов(не знаю как правильно)
может быть "Program%20Files" поможет
Ни разу с консолью не работал что ли? Нет там %20, это не браузер. Для путей с пробелами есть кавычки, но у автора они вроде и так стоят.

Может быть в этом дело http://stackoverflow.com/a/9965141/964478
Вообще обычно лучше CreateProcess использовать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.05.2016, 10:32   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

для путей содержащих пробелы - тройная ковычка
Код:
system("\"\"D:\\test\" nospaces \"text with spaces\"\""); //ok, works
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с другими программами через С++ xitrec1zaraza Общие вопросы C/C++ 4 12.02.2011 16:34
Управление программами drwhite Свободное общение 17 09.10.2009 08:08
Работа с другими программами через Delphi slon Общие вопросы Delphi 8 10.10.2008 11:58
Управление другими программами L_M Общие вопросы Delphi 4 04.05.2008 02:53