问题描述
- C++ 命令参数的复数判断
-
在cmd中输入参数时,判断有没有输入重复的参数
比如:
cmd : a.exe /L /L
L命令出现两次,就报错,结束程序
解决方案
#include <stdio.h>
int main(int argc, char* argv[])
{
for (int i = 0; i < argc; i++)
for (int j = 1; j < argc; j++)
{
if (i !== j && strcmp(argv[i], argv[j]) == 0)
{
printf("duplicated arguments");
return;
}
}
// other code goes here.
printf("hello worldn");
return 0;
}
解决方案二:
最好加一个长度检查或者判断空值的函数会比较健壮
解决方案三:
在内部设定参数标志,比如此例是 isLflag, 解析出参数后,设置它为true, 下次再设置时检查此标志,如果为true, 则表示重复,报错。
时间: 2024-07-31 22:00:36