C++ LPCTSTR как передать аргументы командной строки дочернему процессу
LPCTSTR applicationName = NUL // NULL => module name from command line
string argument1 = "something";
string argument2 = "anotherthing";
LPTSTR commandLine = "childpath\\child.exe";
success = CreateProcess(
applicationName,
commandLine,
processSecurityAttrs,etc...)
Здесь я пытаюсь передать аргументы родительской командной строки child. Но это LPTSTR
Я не умею совмещать string
а также LPTSTR
введите и передайте его ребенку. Это дает мне тип def. ошибка. Я использую Visual Studio 2013 и C++.
1 ответ
Согласно документации:
Версия этой функции Unicode, CreateProcessW, может изменять содержимое этой строки. Следовательно, этот параметр не может быть указателем на постоянную память (такую как переменная const или литеральная строка). Если этот параметр является константной строкой, функция может вызвать нарушение прав доступа.
Пример из документов:
LPTSTR szCmdline[] = _tcsdup(TEXT("\"C:\\Program Files\\MyApp\" -L -S"));
CreateProcess(NULL, szCmdline, /* ... */);