你好, 欢迎回来｡
在这堂课中, 我想谈谈 关于命令列参数｡
我之所以把它包括进来 变量和数据类型部分中的信息是因为 命令行参数是将数据传递到程序中的一种方式｡
这就像是 变量添加到程序中｡
它非常有用 你经常这么做, 所以我想真实的地介绍一下｡
所以命令行参数｡
基本上, 有些时候 开发了一个程序,
要求用户输入少量 在终端上的信息｡
所以就像这暗示的, 命令行参数本质上是程序参数｡
这是你如何通过 数据到程序｡
因此, 当您询问用户或 程序需要动态的数据,
由用户输入, 有很多不同的方法可以传递这些数据｡
您可以向用户索取 也可以将其作为程序传递｡
而你想做的原因
这也是因为您可能需要用户输入一个 表示您要计算的三角形数字,
或 用户必须输入一个要在词典中查找的单词｡
并非所有数据都是静态的 或者不改变｡
一些数据需要 请用户输入｡
所以就像我说的你可以 有两种方法｡
您可以从以下位置请求数据
我们会在接下来的课程中讨论这个问题, 或者你可以 在执行程序时向程序提供信息｡
这就是 到做为命令列参数｡
将数据通过 命令行｡
所以我们已经知道 c程序有一个主要功能｡
这是一个特殊功能 它基本上是程序的入口点｡
它的特别之处还在于 用于获取命令行参数｡
因此, 当main被
运行时系统, 实际上有两个参数传递给此 函数､ 命令行参数｡
这两个论点是第一 一个是参数计数｡
有多少数据 传递给程序｡
它是一个整数值｡
它指定 在命令行中键入的参数｡
第二个论点 表示为argv, 参数向量为
字符指针数组｡
现在你可能会问自己 什么是数组
我们还不知道什么是数组｡
但是, 同样重要的是 了解如何传入命令行参数｡
您可以将数组视为 很多不同的变数｡
所以第一个参数arg c 对于参数,
count second参数是一个向量｡
记住, 争论是你 可以将数据传递给函数｡
就是这样｡ 这真的不是
那就太复杂了, 所以你可以 传递一些数据给main函数｡
当你运行程序时, 在命令行中运行程序时, 可以指定数据｡
所以记住当你运行一个程序 如果它是可执行文件,
请双击它, 或者如果您在 Linux或Windows你你运行它做一个点斜线一个点出来｡
当你这么做的时候 你可以在程序之后传递一些东西｡
所以你可以说程序｡ 可执行
然后把参数放在后面, 数据放在后面｡
我将展示 你该怎么做｡
因此, 在
数组是一个指针, 表示正在执行的程序的名称, 然后 后面的都是参数,
我来演示一下.
这里有一个例子 主函数有两个参数｡
我们将讨论 参数和实参之间的区别｡
但是你看它是int argsie然后char还有一个星星argv｡
再说一次,
别担心 基本上逗号后面的所有内容都是 传递给程序｡
而arg c则是 数据的编号｡
让我们看一个例子 这是学习的最好方法｡
这是我们的例子｡
如果我们想将数据传递给 通过命令行调用程序, 我们必须在main中设置参数｡
在此之前, main刚刚 已为空并带有两个空括号｡
所以我们首先要做的 只需要说argc就行了｡
它实际上可以是除arg以外的任何名称 c表示参数计数｡
然后是char星argv｡
再说一次, 别担心 关于这个语法｡
但我们必须先把这两个加进去｡
所以我要创造一些 变量, 用于演示传递的数据和｡
因为数据是在传递 我得把它存起来｡
所以我将创建一个 int类型的变量,
它是参数的个数｡
这将是 等于arg c｡
argc只是变量 我会告诉你它代表了什么｡
我要创造另一个 变量来表示我们的参数 等于argvzero｡
再说一遍, 不要担心 argvzero语法｡
这行程式码在 第13行是它的它的设置参数1变量等于程序名｡
如果我们再做一个, 我们用字符串星星参数2
其等于argvsub1｡
然后我们就 打印出这些数据｡
所以我们要说打印输出 参数的数目,
并且我们想要打印出value变数, 所以我们 必须使用此指定格式｡
我们会说% d｡
在逗号后面 我们会说参数的数目因为这是一个
要显示变量
然后我们还有另一个 打印输出参数1的print语句
这将是 表示程序名称｡
同样, 我们有一个百分比符号
所以我们会说percent s因为这也是一个字符串 这一点很重要｡
通常, 当你展示 代码示例中, 您希望打印出变量的值｡
所以这些printf语句 16和17正在打印输出传递给
main, 它们是命令行参数, 这就是我显示它原因
最后我想说的是
display是第二个参数, 这是命令行参数, 除了程序名之外｡
这是参数2 我们要展示的
然后我们返回0｡
这是一个非常简单的程序 因为它没有太多的功能｡
它基本上只是获取数据 从传入的函数中取出并显示数据｡
所以当我说你可以 将数据传递给程序｡
再次提醒您, 当您 执行这个程序,
我们只是双击一个菜单选项｡
但实际上你 执行命令,
双击或执行exe或在linux中执行 或者unix, 你在做一个点｡
所以当你执行这个程序的时候 您可以将数据传递给它｡
既然我们不是在执行 命令, 我们正在执行菜单, 我们必须通过
集成开发环境｡
幸运的是, 代码块 一个很好的方法｡
将数据作为命令行传递 你所要做的就是进入你的项目
突出显示它, 转到“项目”菜单选项, 然后
请转到设置程序参数｡
看这里, 一扇窗户 在这里你可以直接说出你的观点｡
您可以输入 你想要多少就有多少｡
我们开始吧
我要把我的名字印在上面杰森｡
我会放弃这个论点 在程序运行时将这些数据添加到程序中｡
我会说好的｡
所以我要走了 然后编译这个｡
当我运行它的时候 你认为参数个数的值应该是｡
好吧, 记住有一个 传递的参数,
即程序名, 然后 传入Jason, 所以它应该等于2,
数字2
参数1将成为
程序名, 所以这应该是我命名的程序名 我不记得这是否会产生测试｡
那么参数2应该是Jason 因为这就是我要传递的｡
所以现在如果我运行它让我们看看 如果我们说run, 你会看到参数的数量是2｡
参数一是程序名 因为没有新的行所以很难读懂它的格式
所以我们重新开始 实际上添加了一些新行｡
我们如何添加新的 要打印的行｡
我们可以利用逃跑 序列, 即反斜杠n｡
所以我们加一个反斜杠n
在第一个print语句的百分比d和 在下一个字符后加上反斜杠n｡
所以作为输出, 它的可读性更强｡
现在让我们把它保存起来 再次构建它并运行它, 看看这次的输出是什么｡
希望能更容易读懂｡
现在, 当我们执行它时, 您将
有单独的行, 更容易阅读｡
显示的参数数目 因为我提到的第一个参数是程序名
第二个参数是我传入
参数1实际上显示为 作为程序的名称, 它是我的整个目录
然后进行测试｡ exe文件｡
第二个论点是杰森, 因为 这是我在ID中设置的｡
现在我可以去修改
程序参数, 方法是转到项目菜单选项并 说project去设置程序参数, 我可以改变它｡
现在当我改变这个, 如果我 换个词, 不然我就说了
现在当我运行它的时候, 数据
传递给程序的信息是 不同的, 实际上你所要做的就是
就不需要重新编译｡
现在它只是 显示出来｡
所以这是一种你可以 将数据传递给程序,
而不专门向用户请求数据｡
您只需在IDE中键入它即可 并将其传递给程序｡
你可以传递很多很多参数｡
你不只是要通过这一关｡
如果你想通过更多, 你会
只需再次设置程序参数, 当然, 如果要使用它们, 则必须在 数组,
但您可以传入许多｡
因此, 这对于将数据传递给 而不要求用户在键盘上键入某些内容｡
如果你不这样做, 程序会暂停, 然后它会说, 嘿,
用户请输入一些东西｡
然后用户输入
然后你必须保存它保存在一个变量里 您必须继续执行｡
这样你就不用问了 将其作为程序的一部分传递给用户｡
所以这是什么命令 行参数为
不要担心这些其他的概念 就像数组, 你可以看到星号代表指针,
不用担心这个｡
同样, 这只是显示 命令行参数｡
而你进入的方式 就是通过函数中的这些参数｡
但重点是 这就是你能做到｡
这是有用的 对其他程序有用, 并与变量相关联｡
-谢谢—谢谢