根据命令行参数将值设置为true或false

时间:2010-11-24 06:39:58

标签: c

我陷入了一个非常棘手的境地。我必须根据命令行上的参数将布尔值设置为true或false。我必须提供一个参数-ds=rel,并根据此值,程序将其设置为true和false。我用过

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

现在我希望如果我在命令行中给-ds=draw它应该设置rel = true。也就是说,它应该比较等于(=)之后的值,如果它被绘制,它应该使它成立。否则,如果我在-ds=之后提供任何其他内容,则rel值应为false。

2 个答案:

答案 0 :(得分:2)

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;
    } 
}

答案 1 :(得分:0)

rel=!strcmp(argument, "draw");

这样的东西