如何使用与argc的比较

时间:2014-01-03 04:20:46

标签: c++

我正在制作一个cowsay计划。在控制台中键入cowsay.exe“text”时,会显示一条带有奶牛的消息。

但是,如果有多个参数,我希望程序停止。

if(argc > 1 || argc < 1)
{
    cout << "ERROR" << endl;
}

但它不起作用,谢谢你的帮助!

3 个答案:

答案 0 :(得分:3)

我认为您的参数计数应为2,因为其中一个是'cowsay.exe'而另一个是'text'。

if(argc != 2)
{
  cout << "ERROR" << endl;
  return 0;
}

答案 1 :(得分:0)

使用:

if(argc !=1)
{
    cout << "ERROR" << endl;
    return false;
}

注意: argc是参数计数

C ++程序的主要功能有两个参数,通过名为argc和argv的约定,它为它提供了用于启动程序的命令行参数。

答案 2 :(得分:0)

如果你想接受不超过一个参数,你应该将你的参数计数比作::

if( argc != 2 )

这是因为,第一个参数始终是您正在调用的可执行文件的名称,下一个是您传递给可执行文件的参数。 来自link

  

字符指针数组是所有参数的列表。   argv [0]是程序的名称,如果名称是空字符串   无法使用。之后,每个小于argc的元素数是a   命令行参数。您可以像使用每个argv元素一样使用   字符串,或使用argv作为二维数组。 argv [argc]是null   指针。