【发布时间】:2013-07-12 19:09:48
【问题描述】:
自从我学会编程以来,我就知道如何编写一个接受命令行参数的程序。我不明白的是这些参数如何获得它们的值。希望我没有将这两者混淆,但参数和参数之间存在差异。 argument 是在调用函数时赋予函数的值,例如: foo(a, b, c);其中 a、b 和 c 是值。 参数是被调用时函数内部的值。
所以我的问题是人们如何将命令行参数传递给程序?我了解如何读取参数,argc 是参数的数量,argv 是指向包含参数等的字符串数组的指针,但我只是不知道如何给这些参数一个价值..
我正在寻找有关 C 和 C++ 的信息。我在这方面有点新手。
【问题讨论】:
-
这将是特定于操作系统的,尽管在 unix 风格的系统上,您可以查看 exec() 系列函数的手册页 - 这是命令 shell 通常使用的参数它已从命令行解析。
-
“我从来没有使用过这个功能,因为我不知道如何将这样的参数传递给程序” - 前面两句话:“我知道如何编写一个接受命令行的程序自从我学会编程以来的争论” - 现在真相是什么? 另外,在我看来,你似乎没有读过初学者 C++ 教程的第 1 章,这应该很早就被描述了在那里。
-
这是事实。我认为它不是很清楚。我想知道如何将参数传递给程序,而不是参数!我想知道如何将值作为参数提供给程序以用作参数!换句话说,用户如何为程序提供参数?因为余浩、TGH 和 Nobilis 拥有我想要的东西。
-
@user529758 我想我应该澄清一下(三年后)。当我发布这个问题时,我根本不知道如何将命令行参数传递给程序。无论如何,我读过的任何课程或书籍都没有详细说明如何做到这一点。我所做的一切都在像 VS Express 这样的 IDE 中。 Chris Stratton 我可以保证我当时也不知道联机帮助页是什么,也不知道 exec() 系统调用是什么。不过我现在知道这些了! :) 我认为我当时从未使用过 Linux。
标签: c++ c command-line