当我运行以下代码时:
void main(int argc, char** argv)
{
if (argc != 2){
fprintf(stderr, "Usage: %s video-dir-path\n", argv[0]);
exit(-1);
}
XFishTracker ft(argv[1]);
int id = 0;
while (true)
{
id++;
...
...
它退出,因为ARGC的值显然不是2。 如果我注释掉退出(-1)行,我会得到一个ASSERTION ERROR。 我认为因为ARGC不是2,我的程序不运行或继续。如何将argc初始化为2并使程序运行,当它退出之前我甚至可以正确地看到命令提示符。
如何使命令提示符保持不变并输入两个输入,以便argc == 2?
答案 0 :(得分:1)
argc
取自您在命令提示符下键入的内容。这里没有足够的信息来查看可执行文件的名称,但是让我们说foo
。然后
% foo # argc == 1
% foo banana # argc == 2, etc.
答案 1 :(得分:0)
看来你没有给出任何命令行参数,这就是为什么你在argc和argv中什么都没有。
您可以提供任意数量的命令行参数。如果您使用的是Visual Studio,请转到项目属性 - >调试。在那里你可以看到一个框“命令行参数”给你想要的颜色