Подтвердить что ты не робот

Системный вызов windows C с пробелами в команде

Я не могу выполнять системные вызовы с пробелами в именах и параметрах. Например:

system("c:\\program files\\something\\example.exe c:\\my files\\example.txt");

Я пытался убежать во всех отношениях, я знаю, как и НИЧЕГО работает. Я пробовал:

system("\"c:\\program files\\something\\example.exe\" \"c:\\my files\\example.txt\"");

и

system("c:\\program^ files\\something\\example.exe c:\\my^ files\\example.txt");

Ни одна из них не работает. Я все еще получаю 'c:\program' не реконструированная внутренняя или внешняя команда

Это действительно сводит меня с ума... Мне нужно вызвать и передать параметры, в которых есть пробелы. Я не могу использовать короткие обозначения по причинам, по которым я не буду вдаваться.

Я пробовал использовать кавычки вместо кавычек, все равно не работает. Я попытался помещать кавычки вокруг всего объекта и кавычки вокруг пробелов, и это не работает.

Кто-нибудь знает, как правильно это сделать?

4b9b3361

Ответ 1

Изменить: ОК, выяснилось, вступая в вызов system(): вам нужен дополнительный набор котировок вокруг всего этого из-за того, что он внутренне вызывает cmd/c yourinput

Итак, это работает для меня:

system("\"\"c:\\program files\\internet explorer\\iexplore.exe\" \"www.stackoverflow.com\"\"");

Немного беспорядка, не так ли?