C 检查是否有多个参数
我有一个简单的程序,可以使用C 检查是否有多个参数,c,if-statement,arguments,command-line-arguments,C,If Statement,Arguments,Command Line Arguments,我有一个简单的程序,可以使用Caesar密码对消息进行加密 程序运行良好,但我无法检查用户是否输入了多个参数。如果他是,我需要打断并提示用户输入正确数量的参数,即1 若您在终端中输入了多个参数,比如说/caesar 13 56 hello,它仍然可以工作,但不应该工作 int main(int argc, string argv[]) { int indexKey = 0; string message; if (argc < 2 || atoi(argv[0
Caesar密码对消息进行加密
程序运行良好,但我无法检查用户是否输入了多个参数。如果他是,我需要打断并提示用户输入正确数量的参数,即1
若您在终端中输入了多个参数,比如说/caesar 13 56 hello
,它仍然可以工作,但不应该工作
int main(int argc, string argv[])
{
int indexKey = 0;
string message;
if (argc < 2 || atoi(argv[0]) < 0 || atoi(argv[1]) < 0) {
printf("Please enter a non-negative integer as an argument.\n");
return 1;
} else {
indexKey = atoi(argv[1]);
}
intmain(intargc,字符串argv[])
{
int indexKey=0;
字符串消息;
如果(argc<2 | | atoi(argv[0])<0 | | atoi(argv[1])<0){
printf(“请输入一个非负整数作为参数。\n”);
返回1;
}否则{
indexKey=atoi(argv[1]);
}
如何防止用户输入过多参数?您应该检查argc!=2
而不是argc<2
另外,不要费心检查argv[0]
,因为这代表了运行的可执行文件的名称。谢谢。请记住我愚蠢的问题,但是当我们说argc!=2
时,我们实际上用伪代码说的是什么?即“如果参数的数量不是2”,记住可执行文件作为第一个参数。