我正在制作一个cowsay计划。在控制台中键入cowsay.exe“text”时,会显示一条带有奶牛的消息。
但是,如果有多个参数,我希望程序停止。
if(argc > 1 || argc < 1)
{
cout << "ERROR" << endl;
}
但它不起作用,谢谢你的帮助!
答案 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 指针。