如何将带双引号的字符串作为字符作为命令行参数传递?
字符串之间基本上有一个空格,因为它被视为两个不同的参数。所以我试着把它们放在双引号中,就像这样。
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] =“测试值= abc测试” 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"
请指导
谢谢&问候 苏尼