检查是否有超过 1 个参数
Check if there are more than 1 argument
我有一个使用 Caesar Cipher
.
加密消息的简单程序
程序运行良好,但我无法检查用户输入的参数是否超过 1 个。如果他是,我需要中断并提示用户输入正确数量的参数,即 1
.
如果您在终端中输入超过 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]);
}
如何防止用户输入太多参数?
您应该检查 argc != 2
而不是 argc < 2
。
此外,不要费心检查 argv[0]
,因为它代表 运行.
的可执行文件的名称
我有一个使用 Caesar Cipher
.
程序运行良好,但我无法检查用户输入的参数是否超过 1 个。如果他是,我需要中断并提示用户输入正确数量的参数,即 1
.
如果您在终端中输入超过 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]);
}
如何防止用户输入太多参数?
您应该检查 argc != 2
而不是 argc < 2
。
此外,不要费心检查 argv[0]
,因为它代表 运行.