C语言处理命令行参数

时间:2022-12-06 14:29:00

2.c语言的命令行参数

2.1命令行参数的作用

第一个参数是程序的名称,这个参数的作用在于如果程序采用几组不同的选项进行启动。例如unix中的列表lsll,和l几种不同的启动模式。当以ls启动时,就产生文件的简单列表。当它以l启动时,就产生一个多列的简单列表;如果它以名字ll启动,就产生详细列表。程序对命令行传给它的第一个参数进行检查,确定它是由哪个名字启动的,从而根据名字选择不同的操作。问题在于命令行怎么知道llls是一个程序呢?

2.2处理命令行参数

Prog –a –b –c name1 name2 name3

则处理该参数的方法是

Void main(int argc,char** argv)

{

While(*++argv=NULL&&*++argv==’-’) //跳过‘-

{

          Switch*++*argv//跳过’-’后的项目,while括号内部跳一次,此处swtich括号内跳第二次,就把-a这两个字符跳过了。

             {

                    Case ‘a’:

                                              Option_a=TRUE;break;

                    Case ‘b’

                            Option_b=TRUE;break;

}

}//处理参数

   If(*argv==NULL)

         Process_standard_input();

   Else{

                                           Do

                                           {

                            Process_file(*argv);

}while(*++argv!=NULL);

}

 

}