检查程序参数是否等于单个字符

时间:2016-04-24 20:43:19

标签: c gcc

我想阅读参数,然后将其与角色进行比较:

int main (int argc, char *const argv[]) {
    if (argv[1][1] == 'c') {
        client();
    }
    else if (argv[1][1] == 's') {
        server();
    }

    return 0;
}

如果我输入ccdd,它会有效,如果我输入ccttttt,它也会有效。它只使用了第二个字符,但我只是在我输入c时才能使用它。

2 个答案:

答案 0 :(得分:1)

argv[1]是指向第一个命令行参数的指针。

argv[1][1]是该参数的第二个字符。

第一个字符是argv[1][0]。 (但首先检查argc >= 2,即确实存在命令行参数。)

当然,这仅检查单个字符,因此它不区分"c""cthulhu"。如果您想要处理这个论点,那很好,但您可能想要考虑不同的方法。

答案 1 :(得分:1)

只需将argv [1] [1]更改为argv [1] [0]并记住在c / c ++中所有数组都以' 0'

开头