命令行

main函数中两个参数的用法

1.第一个表示参数的个数;第二个参数中argv[0]为自身运行目录路径和程序名,argv[1]指向第一个参数、argv[2]指向第二个参数、等等。
当你在CMD 命令行输入带参数的命令: XXX.exe /a /b
后面的/a /b等等内容,就是main函数用来接收的参数,你就可以自己根据参数的不同,来运行不同的代码了.(摘自百度)
2.argv[0]是exe的目录具体位置.这两个参数用于在运行程序时,从外部给程序传递参数,其中argc中保存了参数的个数,argv中分别保存了各个参数.
例如一个程序中main()形如int main(int argc, char *argv[]),编译链接后生成的可执行文件名为a.exe,那么在命令行调用时如: a.exe -abc -def
在上面的命令行中,a.exe是要运行的程序名,后面的abc和def就是传入程序的两个参数,这两个参数就通过argc和argv传入程序,注意这些参数都是字符串.
通过上面的调用,程序中,argc=3,a.exe是第一个参数,这个字符串将保存在argv[0]中,abc和def分别是第二和第三个参数,它们分别被保存在argv[1]和argv[2]中.(摘自百度)
3.main函数中的第一个参数argc代表的是向main函数传递的参数个数,实际上它要比你在命令行里输入的数据多一个,因为第一个参数它保存了该.exe程序的路径名,
也就是说如果你向命令行中输入2个数,则argc 实际上等于3, 第二个参数 argv保存的命令面板中的输入的参数值,第一个值是该应用程序的路径名,后面依次是输入的数据的值,注意的是最后一个值是null。

4.具体操作:在开始中输入cmd打开命令行程序,将编译好的exe文件拖进命令行程序窗口中,输入字符串str1,str2...strn,按下回车键.
(其中的argv[0]为.exe文件目录路径,argv[1]为str1,argv[n]为strn,argv[n+1]为NULL.)

5.用处:我们可以设置命令和其会触发的对应的执行操作语句,将命令以字符串的形式传入,就会触发main函数中我们设置的对应程序语句,例如我们可以设置当传入字符串"input"时我们的程序就会调遣程序执行输入命令。

原文地址:https://www.cnblogs.com/suolun/p/9086698.html