处理c语言的命令行参数

时间:2021-08-12 14:29:04

1.命令行参数的作用

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

问题在于命令行怎么知道ll和ls是一个程序呢?


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);

}

 

}