2016-01-20 2 views
0
int main() 
{ 
    system("start C:\\Program Files (x86)\\Steam\\Steam.exe\\"); 
    cout << "Opening...\n"; 
    return 0; 
} 

Когда он открывает CMD, в нем говорится: «Не удается найти C: \ Program». »C++ Execute .exe с пробелами в пути

+4

'' start \ 'C: \\ Program Files (x86) \\ Steam \\ Steam.exe \ "" ' – AndyG

+1

Голосование закрывается, однако, из-за этого, по существу, является типографская ошибка; OP не понимал, что пробелы будут указывать отдельные аргументы 'start' – AndyG

+0

Спасибо за весь ваш ответ. Но я закончил это следующим образом: '_spawnl (P_WAIT," C: \\ Program Files (x86) \\ Steam \\ Steam.exe "," Arg1 "," Arg2 ", NULL);' – Kompakt

ответ

2

Thete не нужно бежать с \. Вы можете использовать необработанные строковые литералы. Как это.

system(R"(start "C:\Program Files (x86)\Steam\Steam.exe")"); 

или

system(R"(start C:\Program Files (x86)\Steam\Steam.exe)"); 
+0

Не работает. – Kompakt

3

(Перенастройка ответ от комментария)

Поместите путь в строку внутренне:

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

Примечание: используйте \" создать кавычку внутри строка.

Смежные вопросы