【发布时间】:2015-12-08 20:25:51
【问题描述】:
使用 Visual Studio 2015 提供命令行参数,第二个参数显示错误。代码如下
// command line options
printf("Mandatory arguments to long options are mandatory for short options too.\n");
printf(" -i, --input=PATH set the path to the input image\n");
printf(" (*.jpg, *.png, etc.)\n");
printf(" -o, --output=PATH set the path to the output image\n");
printf(" (*.jpg, *.png, etc.)\n");
每当我给出输出路径时,它都会显示错误。 Invalid command line argument。我的序列就像命令行参数中的 E:\1.jpg D:\。
编辑:
解析代码
// parse command line arguments
arg = 2;
while(arg < argc)
{
//
if(0==strcmp("-u", argv[arg]) || 0==strcmp("--usepyr", argv[arg]))
{
usepyr = 1;
++arg;
}
else if(0==strcmp("-i", argv[arg]) || 0==strcmp("--input", argv[arg]))
{
if(arg+1 < argc)
{
//
sscanf(argv[arg+1], "%s", input);
arg = arg + 2;
}
else
{
printf("# missing argument after '%s'\n", argv[arg]);
return 1;
}
}
else if(0==strcmp("-o", argv[arg]) || 0==strcmp("--output", argv[arg]))
{
if(arg+1 < argc)
{
//
sscanf(argv[arg+1], "%s", output);
arg = arg + 2;
}
else
{
printf("# missing argument after '%s'\n", argv[arg]);
return 1;
}
}
尝试运行并检查来自here的示例代码的结果
【问题讨论】:
-
显示说明命令选项的代码并不能帮助这里的任何人帮助您解决问题。您应该发布解析命令行的代码。
-
一,你不认为你应该展示你的命令行解析代码吗?二,“我的序列就像 E:\1.jpg D:\”,嗯,用法上说命令行需要
-i和-o,那么你真的将这些开关传递到命令行吗? -
Invalid command line argument。您声称这是错误,但您的代码从不输出该字符串。您是否显示所有代码?另外,请准确显示您正在使用的命令行。 -
请准确显示您正在使用的命令行。第三次问这个。您显示的命令行没有
-i和-o开关。目前尚不清楚是因为你没有证明这一点,还是你真的把这些都漏掉了。
标签: c++ c visual-studio-2015 computer-vision