визуальное прохождение двойных кавычек в аргументе командной строки в переполнении стека

Как передать строку с двойной кавычкой в ​​качестве символа в качестве аргумента командной строки?

Строка в основном имеет пробел между ними, из-за чего она воспринималась как два разных аргумента. Поэтому я попытался поместить их в двойные кавычки, вот так.

wstring cmdLineParam = L"\"Test Value=abc\"";

Это прекрасно работает в большинстве случаев.
Но теперь, если у меня есть двойные кавычки как символ в строке, это терпит неудачу.

wstring cmdLineParam = L"\"Test Value=abc \"test me\"\"";// I want the string to be passed as Value=abc"test me"

Здесь аргумент разделяется на два аргумента

argv [0] = «Test Value = abc test» argv [1] = «я»

Это мой пример кода.

wstring cmdLineParam = L"\"Test Value=abc \"test me\"\""; // Need to pass it as Value = abc "xyz uvw"
wstring path = L"C:\\cmdtest.exe";

BOOL bSuccess = CreateProcess ((LPCWSTR)path.c_str(), (LPWSTR)cmdLineParam.c_str(), NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS,
NULL, NULL, &si, &piProcess);

и, как я уже говорил, выход

argv[0] =  "Test Value=abc test"argv[1] = "me"

Пожалуйста, руководство

Спасибо & С уважением
Сунил

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector