Как мне создать параметр --help в программе командной строки на c / c ++?

0

Я уверен, что это просто. Существует ли заданный заголовок для создания контекста справки в командной строке.

$ program --help

предоставит список различных вариантов помощи.

  • 1
    Если вы используете библиотеку синтаксического анализатора командной строки, то она должна иметь эту опцию. Если вы анализируете командную строку самостоятельно, то просто определите параметр справки, как и любой другой флаг / параметр, и напечатайте текст справки.
  • 3
    Вам это нужно в C, или вам нужно в C ++?
Показать ещё 1 комментарий
Теги:
command-line-interface

6 ответов

2

Что-то в этом роде...

int main(int argc, char* argv[])
{
    std::vector<std::string> cmdLineArgs(argv, argv+argc);

    for(auto& arg : cmdLineArgs)
    {
        if(arg == "--help" || arg == "-help")
        {
            std::cout << "Helpful stuff here\n";
        }
        else if(arg == "whatever")
        {
            std::cout << "whatever?!\n";
        }
    }
}

Конечно, есть библиотеки для обработки аргументов строки cmd. Но для простых вещей это действительно не сложно сделать самому.

2

Самый простой способ сделать это в c++:

int main(int argc, char** argv)
{
    if(argc == 2 && strcmp(argv[1], "--help")==0)
    {..print help here..}
    return 0;
}
1

Для C++ у вас есть Boost.Program_options

http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html

Но вам придется принести всю библиотеку boost (которая может быть утомительной, когда вы это сделаете в первый раз).

0

getopt_long - ваш друг. Для односимвольных опций getopt будет достаточно.

0

Вы можете сделать это несколькими способами в зависимости от того, как вы хотите это сделать.

Вы можете использовать strcmp() и просто проанализировать argv [1]:

if(strcmp(argv[1],"--help") == 0)

или вы можете использовать getopt, если вы используете linux:

http://www.gnu.org/software/libc/manual/html_node/Getopt.html

0

Я думаю, вам стоит взглянуть на эту библиотеку: Getopt, которая является частью библиотеки GNU C. Это позволяет эффективно анализировать параметры -like.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню