Что библиотеки синтаксического анализатора параметра там для C++? [закрытый]

70
задан Community 23 May 2017 в 11:47
поделиться

7 ответов

39
ответ дан Igor Semenov 24 November 2019 в 13:23
поделиться

GNU GetOpt.

А простое использование в качестве примера GetOpt:

// C/C++ Libraries:
#include <string>
#include <iostream>
#include <unistd.h>

// Namespaces:
using namespace std;

int main(int argc, char** argv) {
    int opt;
    bool flagA = false;
    bool flagB = false;

    // Shut GetOpt error messages down (return '?'): 
    opterr = 0;

    // Retrieve the options:
    while ( (opt = getopt(argc, argv, "ab")) != -1 ) {  // for each option...
        switch ( opt ) {
            case 'a':
                    flagA = true;
                break;
            case 'b':
                    flagB = true;
                break;
            case '?':  // unknown option...
                    cerr << "Unknown option: '" << char(optopt) << "'!" << endl;
                break;
        }
    }

    // Debug:
    cout << "flagA = " << flagA << endl;
    cout << "flagB = " << flagB << endl;

    return 0;
}

можно также использовать optarg, если у Вас есть опции, которые принимают аргументы.

24
ответ дан Paolo Rovelli 24 November 2019 в 13:23
поделиться

Существуют эти инструменты в GNU C Библиотека, которая включает GetOpt.

при использовании QT и как интерфейс GetOpt, froglogic опубликовал хороший интерфейс здесь .

8
ответ дан Dusty Campbell 24 November 2019 в 13:23
поделиться

И существует библиотека Google доступны.

Действительно, парсинг командной строки "решен". Просто выберите тот.

14
ответ дан Max Lybbert 24 November 2019 в 13:23
поделиться

argstream весьма схоже с boost.program_option: это разрешает связывать переменные с опциями, и т.д. Однако это не обрабатывает опции, сохраненные в конфигурационном файле.

3
ответ дан Max Lybbert 24 November 2019 в 13:23
поделиться

Есть пара парсеров аргументов C++, вы можете попробовать этот из http://clp.sourceforge.net/, очень простой и удобный.

-2
ответ дан 24 November 2019 в 13:23
поделиться

Попробуйте библиотеку CLPP. Это простая и гибкая библиотека для разбора параметров командной строки. Только для заголовков и кроссплатформенная. Использует только библиотеки ISO C++ и Boost C++. ИМХО она проще, чем Boost.Program_options.

Библиотека: http://sourceforge.net/projects/clp-parser/

26 октября 2010 - новый релиз 2.0rc. Исправлено множество ошибок, полный рефакторинг исходного кода, исправлена документация, примеры и комментарии.

3
ответ дан 24 November 2019 в 13:23
поделиться
Другие вопросы по тегам:

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