проблема запуска процесса c ++ с путем - PullRequest
0 голосов
/ 09 августа 2010

Я использую process::start(PATH);, чтобы открыть процесс. Проблема в том, что иногда он находит файл, а иногда нет.

Например, это работает:

process::start("C:\text.exe");

Но это не работает:

process::start("C:\New Folder\text.exe");

Есть идеи, в чем разница?

Ответы [ 2 ]

4 голосов
/ 09 августа 2010

Вы должны экранировать символы \.

В строке C \t - это символ TAB .Использование:

process::start("C:\\New Folder\\text.exe");
2 голосов
/ 09 августа 2010

Библиотека может подумать, что c: \ New - это программа, которую вы запускаете, а Folder \ text.exe - это аргумент, который вы ей передаете.

Возможно, вам понадобится процитировать его, чтобы вы 'повторный вызов этого:

"C:\New Folder\text.exe"

Который в виде строки C ++ будет выглядеть так:

process::start("\"C:\\New Folder\\text.exe\"");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...