命令行参数添加一个额外的参数
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;
}
我正在尝试在 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;
}