【发布时间】:2014-09-29 00:28:57
【问题描述】:
如何在 C++ 中使用命令行参数检查条件,例如我有这样的代码
int main(int argc, char* argv[]) {
if (strcmp(argv[1] , 'a')==0)
{
cout<<"something"<<endl;
}
}
使用 hello、hi 等参数,当我的 argv[1] == "hello" 时,我想执行一些语句。 此比较引发错误 char is incompatible with const char* 有没有更好的方法来比较这些论点?
【问题讨论】:
-
首先,你应该写“a”,而不是“a”。您显然是初学者,我建议您寻找有关指针的教程。其次,有一个名为 getopt 的库用于这种用途。
-
strcmp(argv[1], "a")- 注意双引号,它将字符串标识为指向数组 {'a', '\0'} 而不是单个字符 'a' 的指针。 strcmp 用于字符串,而不是字符
标签: c++ command-line-arguments