自从我学会编程以来,我就知道如何编写接受命令行参数的程序。我不明白的是这些参数是如何得到它们的值的。希望我没有混淆这两种情况,但是参数和参数之间有区别。参数是调用函数时给出的值,例如: foo( a,b,c);其中a、b和c是值。参数是调用函数时函数中的值。
所以我的问题是,一个人是如何将命令行参数传递给程序的?我知道如何读取参数,argc是参数的数量,argv是指向包含参数的字符串数组的指针,等等,但我不知道如何给这些参数一个值。
我正在寻找C和C++的信息。我在这方面是个新手。
发布于 2013-07-15 01:18:15
在Windows环境中,只需将它们传递到命令行,如下所示:
myProgram.exe arg1 arg2 arg3argv1包含arg1等
主要职能如下:
int main (int argc, char *argv[])发布于 2013-07-15 02:29:35
关于*零:
$ ./my_prog arg1 arg2在Windows命令行上:
C:\>my_prog.exe arg1 arg2在这两种情况下,给定的main声明为:
int main (int argc, char *argv[])argc将是一个值为3、argv[1] = "arg1"、argv[2] = "arg2"的int,此外,argv[0]将具有程序名my_prog。
命令行参数通常用空格分隔,如果希望传递带有空格(如hello world )的参数,请使用双引号:
$ ./my_prog "hello world"发布于 2013-07-15 01:27:14
在*nix上,有一个非常好的实用程序,它允许您以非常简单的方式解析命令行标志和参数。在同一页上有一个很好的使用它的例子。
然后,您将运行您的程序并以非常标准化的方式将参数传递给它:
$ ./my_app -a -b -c argument1 argument2
您可以不使用它,只需自己解析它们,但是如果您想让您的应用程序对其他人有用,那么它绝对值得一试。
https://stackoverflow.com/questions/17645447
复制相似问题