Установка значения в true или false на основе параметра командной строки - PullRequest
0 голосов
/ 24 ноября 2010

Я застрял в очень сложной ситуации.Я должен установить логическое значение на истину или ложь на основе аргумента в командной строке.Я должен предоставить аргумент -ds=rel и на основе этого значения программа установит для него значение true и false.Я использовал

if (strncmp(argv[argc_pnt], "draw", 4) == 0)
{
    rel = true;
}

Теперь я хочу, чтобы, если я даю -ds=draw в командной строке, он установил rel = true.То есть, он должен сравнивать значение после равного (=) и, если он получен, он должен сделать его истинным.Иначе, если я дам что-нибудь еще после -ds=, значение rel должно быть ложным.

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010
static const char DS_ARG[] = "-ds=";
rel = false;

// …

if (strncmp(argv[i], DS_ARG, sizeof(DS_ARG) - 1) == 0) {
    // argv[i] begins with "-ds="
    if (strcmp(argv[i] + sizeof(DS_ARG) - 1, "draw") == 0) {
        // "-ds=" is followed by "draw"
        rel = true;
    } 
}
0 голосов
/ 24 ноября 2010

что-то вроде rel=!strcmp(argument, "draw");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...