Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
Jan. 3, 2019, 10:53 a.m.

Получить входные аргументы при запуске консольного приложения

с++

Всем привет. Может кто подаст совет, приложение например получает 2 аргумента, они обязательные. Но если задать больше этих 2 обязательных аргементов то нужно все их запихать в вектор. Колличество больше обязательных 2 может быть каким угодно. Может кто подскажет какой то удобный способ как это можно реализовать? Или вдруг какой то простой пример есть под рукой?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
7

Привет.

Я так думаю, что если дальше покопать boost::program_options , то можно найти вариант установки вектора значений.

0

Если быть точным, то есть вариант с multitoken() для std::vector и program_options , в интернете есть дополнительные варианты. Сам пока не реализовывал такое.

0

Спасибо, наверное это как раз и буду сейчас пробовать для реализации.

1

Вариант пока без буста выглядит достаточно тривиальным)

std::vector<std::string> args;
for( int i = 0; i < argc; ++i )
{
  args.emplace_back( argv[i] );
}

То есть задв не 0 а с той позиции с какой нам надо получить аргементы, и мы получим нужный нам вектор) С бустом чуть позже.

0

Да, только здесь появляется зависимость на позицию аргументов.

Вопрос в том, сколько напишешь кода для валидации всего этого добра. С бустом немного посложнее будет, но там больше готового функционала по проверкам. Хотя, если не требуется на данном этапе, то можно будет обойтись и вариантом с позицией аргументов.

0

QCommandLineParser не пробовали использовать? или не подошел?

0

Фреймворк не используем) так что не вариант.

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Last comments
March 19, 2019, 12:57 p.m.
AlexanderBardin

Добрый день. А проверить работоспособность локально как-то можно не указывая реальнй сайт (еще в разработке)
March 16, 2019, 1:55 p.m.
Дмитрий

Спасибо за статью. Давно итересует следующий вопрос: с помощью переменных QMAKE_TARGET_COMPANYQMAKE_TARGET_PRODUCTQMAKE_TARGET_DESCRIPTIONможно задать свойства компилируемой программы, о...
JS
March 12, 2019, 10:19 a.m.
Jean Stefanovich

Большое спасибо за разъяснения!
March 12, 2019, 10:04 a.m.
Евгений Легоцкой

Hello, In fact, this functionality or is not implemented, or is not documented. I'm not sure. But I think, that it should be implemented in Text QML Type. Because of we can write text in...
March 12, 2019, 9:51 a.m.
Евгений Легоцкой

Да вы правы. На самом деле проще через QSqlQueryModel, сколько не пытался использовать эти дженерики типо QSqlTableModel и QSqlRelationalTableModel, то всегда упирался в какие-то их ограничени...
Now discuss on the forum
March 19, 2019, 1:43 p.m.
AlexanderBardin

Очень интересная тема. У вас случайно нет статьи с полным циклом интреграции нескольких языков?Так сказать с нуля, что нужно, какие пакеты ставить, что куда писать. Тут вроде информации не ма...
March 17, 2019, 10:47 p.m.
Евгений Легоцкой

Добрый день. Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель. GraphKS_mfvSlup.zip
ЧГ
March 15, 2019, 9:52 p.m.
Чарльз Грин

спасибо, попробую, отпишусь
m
March 15, 2019, 7:41 p.m.
mihamuz

Сори догадался)
n
March 12, 2019, 4:57 p.m.
newbie.works.with.QT

Большооооое спасибо!!!!!Не передать как я вам благодарен, спасибо что всегда отзываетесь.Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не пр...
Join us in social networks

For registered users on the site there is a minimum amount of advertising