Я пишу функцию C++ в Linux, которая использует execvp. Единственным параметром, переданным этой функции, является символ char *, который указывает аргументы для exec. Мне нужно преобразовать этот символ * в голец ** для execvp и мне нужно принять во внимание цитату, вот пример:Разбор командной строки в массив argv
/path/to/program "argument one" argument two
- results in -
/path/to/program
argument one
argument
two
Есть некоторые встроенный способ сделать это? если нет, есть ли что-то более простое, чем я могу написать собственный парсер?
Можете ли вы использовать силу синтаксического анализа оболочки и передать всю строку в 'bash' или аналогичную для выполнения? Или вам нужно выполнить программу напрямую? –
Я бы предпочел, чтобы программа выполнялась напрямую (используя только C++) – Dave