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

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

с++

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

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
v
Jan. 17, 2019, 11:51 a.m.
vitalir12

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:20points,
  • Rating points-10
v
Jan. 17, 2019, 11:49 a.m.
vitalir12

C++ - Test 002. Constants

  • Result:50points,
  • Rating points-4
v
Jan. 17, 2019, 11:13 a.m.
vitalir12

C++ - Тест 003. Условия и циклы

  • Result:28points,
  • Rating points-10
Last comments
I
Jan. 16, 2019, 8:06 a.m.
IscanderChe

Заработало. Забыл model->select(); вписать.
I
Jan. 16, 2019, 8:02 a.m.
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
Jan. 16, 2019, 7:51 a.m.
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
Jan. 16, 2019, 7:43 a.m.
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Now discuss on the forum
Jan. 17, 2019, 1:40 p.m.
Михаиллл

Спасибо, заработало.Учту с переменными.
Jan. 17, 2019, 12:01 p.m.
Алексей Внуков

у меня просто есть отдельное поле с чекбоксамими какие колонки нужно отображать CheckBox { id: checkBox text: qsTr("some text") checked: true onC...
Jan. 15, 2019, 4:53 p.m.
Михаиллл

Спасибо, заработало.Но выдало обычный текст без форатирования HTML.Придется искать дальше
Jan. 15, 2019, 12:52 p.m.
BlinCT

Я же вам выше написал CLion умеет работать с ремоут машинами. И Qt так же собирает.
Join us in social networks

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