C中的命令行参数到底有什么作用啊?

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:47:37
能不能给个详细的例子啊

C中的命令行参数又叫位置参数,它可以被传到程序里面,派各种用途。
C里的main()写全了应当是:
main(int argc,char *argv[]){
..
}

argc的值等于位置参数总个数(包括程序名字)。
argv[0] 存程序名字,argv[1] 存第一个位置参数,argv[i]存第i 个位置参数,直到argv[argc-1].

例如: clip -in a.jpg -out b.jpg -x1 10 -y1 10 -x2 200 -y2 160
参数0,程序名clip
参数1,2: -in a.jpg 输入文件名
参数3,4: -out b.jpg 输出文件名
参数5,6: -x1 10 裁剪起点x座标
参数7,8: -y1 10 裁剪起点y座标
参数9,10:-x2 200 裁剪终点x座标
参数11,12: -y2 160 裁剪终点y座标
这些参数通过命令行传入程序。

采用位置参数输入方法,避免了对话输入法。
例如,我要裁剪10张照片,我可以写一个批文件my.bat
文件内容:
clip -in a1.jpg -out b1.jpg -x1 10 -y1 10 -x2 200 -y2 160
clip -in a2.jpg -out b2.jpg -x1 20 -y1 10 -x2 210 -y2 160
clip -in a3.jpg -out b3.jpg -x1 10 -y1 20 -x2 200 -y2 170
clip -in a4.jpg -out b4.jpg -x1 20 -y1 20 -x2 210 -y2 170
...
clip -in a10.jpg -out b10.jpg ...
运行my.bat,就裁剪了10张照片。不必对话输入参数。

比如执行DOS命令dir C:其中C:作为命令行参数传给程序,程序跟据参数来执行列出C盘根目录所有文件和文件夹。
C里main()的参数有两个,第一个为参数的个数,第