关闭

C语言处理命令行参数

477人阅读 评论(0) 收藏 举报
分类:

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

}

 

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:47345次
    • 积分:1295
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:12篇
    • 译文:17篇
    • 评论:1条