如何将命令行参数传递给ac程序

自从我学会编程以来,我就知道如何编写一个接受命令行参数的程序。 我不明白的是这些参数如何获得它们的价值。 希望我没有这两个混淆,但参数和参数之间存在差异。 参数是在调用函数时赋予函数的值,例如:foo(a,b,c); 其中a,b和c是值。 参数是被调用时函数内部的值。

所以我的问题是一个人如何将命令行参数传递给程序? 我理解如何读取参数, argc是参数的数量, argv是指向包含参数等的字符串数组的指针,但我只是不知道如何给这些参数赋值。

我正在寻找C和C ++的信息。 我在这方面有点新手。

在Windows环境中,您只需在命令行上传递它们,如下所示:

 myProgram.exe arg1 arg2 arg3 

argv [1]包含arg1等

主要function如下:

 int main (int argc, char *argv[]) 

在* nix上:

 $ ./my_prog arg1 arg2 

在Windows命令行上:

 C:\>my_prog.exe arg1 arg2 

在这两种情况下, main声明为:

 int main (int argc, char *argv[]) 

argc将是一个值为3的intargv[1] = "arg1"argv[2] = "arg2" ,此外, argv[0]将具有程序名称my_prog

命令行参数通常用空格分隔,如果你想传递带空格的参数,比如hello world ,请使用双引号:

 $ ./my_prog "hello world" 

在* nix上,有一个非常好的实用程序 ,它允许您以非常直接的方式解析命令行标志和参数。 在同一页面上有一个很好的例子。

然后,您将运行您的程序并以非常标准化的方式将参数传递给它:

$ ./my_app -a -b -c argument1 argument2

你可以不用它而只是自己解析它们,但如果你的目标是让你的应用程序对其他人有用,那么绝对值得努力使它符合要求。

只需单击开始菜单并在搜索索引中键入cmd …按下输入..现在在cmd窗口中键入以下命令…“program_name arg1 arg2”(不带引号)并按下回车键…是的,它完成了! 和