我想阅读参数,然后将其与角色进行比较:
int main (int argc, char *const argv[]) {
if (argv[1][1] == 'c') {
client();
}
else if (argv[1][1] == 's') {
server();
}
return 0;
}
如果我输入cc
或dd
,它会有效,如果我输入ccttttt
,它也会有效。它只使用了第二个字符,但我只是在我输入c
时才能使用它。
答案 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'
开头