【问题标题】:conditional check for command line arguments in c++在 C++ 中对命令行参数进行条件检查
【发布时间】: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


【解决方案1】:

'a' 是一个 int(更准确地说是 1 字节整数)

“a”是一个字符串

将“a”替换为“a”

【讨论】:

    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多