C语言编程实战-4-命令行参数(main函数)处理.doc
文本预览下载声明
命令行 main函数 参数处理
我们在执行某某命令的时候,经常会传入一些参数,告诉程序做不同的处理。如使用int main int argc,char *argv[] //用户代码则“test” ;
如果执行:
test arg1 arg2
则main函数得到的参数是:argc 3, argv “test”, “arg1”, “arg2” ;
如此类推。
通过上面的讲解,我们不难在– 15 -5
如果输入的参数不合法,则提示参数错误。
代码实现:
#include
int main int argc, char *argv[] if argc ! 3 printf 参数错误!\n ; else int a atoi argv[1] ;
int b atoi argv[2] ;
printf %d + %d %d\n, a, b, a + b ;
printf %d - %d %d\n, a, b, a - b ; return 0; 在主函数的第一行,我们先对int a atoi argv[1] ;
int b atoi argv[2] ;
很明显,我们代码获取命令行参数的时候,第一个参数取的是”转化成数字123。
通过上面的讲解,我们已经能够处理命令行参数了,如cal程序的argv[1]与argv[2]。那么argv[0]有什么用呢?对于很多程序而言,argv[0]没有必要处理,除非你的代码真的需要判断自己的命令行程序名。如同一份代码实现了两个功能,编译连接生成程序后,将程序复制成两份,一份命名p1, 一份命名p2,p1中执行功能1,p2中执行功能2,这时程序就要对argv[0]进行判断,用于选择执行不同的功能。使用”ls“,因此程序就能正常跳到
显示全部