Разрушение cmdLine WinMain в старом основном стиле () аргументы

Я хочу преобразовать 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 окон? Спасибо

16
задан uu. 27 February 2010 в 05:23
поделиться

2 ответа

CommandLineToArgvW , похоже, здесь будет полезно.

5
ответ дан 30 November 2019 в 17:39
поделиться

Если вы используете компилятор Microsoft, существуют общедоступные символы __ argc , __ argv и __ wargv , определенный в stdlib.h . Это также относится к MinGW, который использует библиотеки времени выполнения Microsoft.

23
ответ дан 30 November 2019 в 17:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: