命令行参数添加一个额外的参数

Command Line Argument adding an extra parameter

我正在尝试在 Visual Studio 2010 年探索 C++ 中的命令行参数。它工作正常,但它在 args[0] 添加了一个额外的参数,为什么?

这是我如何设置参数的快照

主要方法如下

int main(int argc, char *argv[])
{
    cout<< endl << "total args passed in the command line - " << argc << endl;
    for(int i = 0; i < argc; i++){
    cout << i+1<< " argument  - " << argv[i] << endl;
    }

return 0;
}

cmd 上的输出如下所示

如您所见,我只添加了两个参数,但它显示的计数为 3。

列表中的第一个条目是程序名称;这就是它的工作原理。

args[0] 包含您的程序名称,argc 也将其包含在计数中。

如果你想排除这个,试试这个:

int main(int argc, char *argv[])
{
    cout<< endl << "total args passed in the command line - " << argc - 1 << endl;
    for(int i = 1; i < argc; i++){
        cout << i << " argument  - " << argv[i] << endl;
    }

    return 0;
}