crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Правильный парсинг аргументов командной строки
RazrFalcon
  опции профиля:
сообщение 16.12.2010, 21:44
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Делаю так
QCoreApplication a(argc, argv);
    QStringList arg=a.arguments();
    if (arg[1]=="help" || arg[1]=="--help" || arg[1]=="-h")
...
и так далее

Но если будет help на втором месте то уже ничего работать не будет, и если аргуменов меньше чем у меня прописано (идет до arg[5]), то сразу валится прога, нужно еще один if писать для проверки, в духе if (arg.count()>4).
Как правильно *название темы*?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Kagami
  опции профиля:
сообщение 17.12.2010, 16:37
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Можно и getopt использовать, но гораздо удобнее использовать QxtCommandOptions, который умеет работать с QString.

P.S. QxtCommandOptions из libqxt никуда не делся, просто из документации почему-то его убрали
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 11.3.2025, 7:45