Я хочу преобразовать WinMain
cmdLine
аргумент argc
и argv
таким образом, я могу использовать функцию парсинга аргумента, я записал для консольных приложений.
Это было бы тривиально за исключением того, что я хочу поддерживать "кавычки" также. Например:
test.exe test1 test2 "testing testing"
должен быть
argv[0] = "test.exe"; argv[1] = "test1"; argv[2] = "test2"; argv[3] = "testing testing";
Я понимаю, что cmdLine не имеет названия программы (argv [0]); это не имеет значения, что я могу использовать фиктивное значение.
Я думал о выполнении его с regex, (("[^"]+")\s+)|(([^\s]+)\s*)
Я не уверен, как хорошо это работало бы хотя.. Вероятно, не очень хорошо? Там какая-либо функция состоит в том, чтобы сделать это в API окон? Спасибо
Если вы используете компилятор Microsoft, существуют общедоступные символы __ argc
, __ argv
и __ wargv
, определенный в stdlib.h
. Это также относится к MinGW, который использует библиотеки времени выполнения Microsoft.