Как передать строку с двойной кавычкой в качестве символа в качестве аргумента командной строки?
Строка в основном имеет пробел между ними, из-за чего она воспринималась как два разных аргумента. Поэтому я попытался поместить их в двойные кавычки, вот так.
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"
Пожалуйста, руководство
Спасибо & С уважением
Сунил
Задача ещё не решена.
Других решений пока нет …