Как запустить программу в каталоге pacticular в C ++ - PullRequest
0 голосов
/ 11 июня 2018

Я написал программу на С ++ (program2.exe), которую я запускаю в C:\.Я хочу запустить program1.exe, что в C:\Program Files.Я делаю это, используя

system("start C:\Program Files\program1.exe");

Программа запускается успешно, но выполняется в C:\ (где program2.exe), а не там, где program1.exe есть!

Как это можно исправитьпроблема

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Обратите внимание, что \ экранируется в литералах C ++ и что путь, содержащий пробелы, должен заключаться в кавычки.

Ваша команда должна быть

system("start \"C:\\Program Files\\program1.exe\"");

Обратите внимание, как удваивается каждый \и как " (в виде \" добавляются по пути, поскольку он содержит символ пробела.

В той форме, в которой вы его написали, он будет выглядеть как

«start C: Programme Filesprogram1.exe»

с совершенно иным значением относительно того, что вы ожидали.

0 голосов
/ 11 июня 2018

Вот непроверенный пример, основанный на моем комментарии, (с использованием опции Start /D) :

system("start \"\" /D \"C:\\Program Files\" program1.exe");

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

Например:

system("start \"\" /D \"C:\\Program Files\" \"program 1.exe\"");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...