当前位置: 首页 > C, C/C++ > 正文

浅析命令行参数

                                                             浅析命令行参数

        在LInux或UNIX系统下我们经常使用各种的命令例如ls ,cd,cat,cp,mv,rm等等命令尤其会在后面跟一些参数与选项来辅助我们实现各种功能,但是这些命令是如何接受这些参数的,其实这正是使用了命令行参数这个语法。

平常我们写程序通常是这样:

int main()

但其实完整的main是这样的int main(int * argc,char ** argv);

argc负责记录运行程序后跟的参数个数(包括运行程序的命令(./程序)),argv是一个指向char型的指针的指针,指向这组参数值的第一个元素。这些元素的每个都是指向一个参数文本的指针。如果程序需要访问命令行的参数,那么在声明是就要加上这些参数:

int main(int * argc,char ** argv);

注意argv也是一个指针数组:这个数组的每一个元素都是一个指针,数组的末尾是一个NULL指针。argc的值和这个NULL值都用于确定实际传递了多少个参数。argv指向数组的第一个元素,这就是它为什么被声明为一个指向字符的指针的指针的原因。第一个参数就是程序的名称。

例如一个打印其命令行参数的程序

#include

#include

int main(int argc,char **argv)

{

while(*++argv!=NULL)

{

printf(“%s\n”,*argv);

}

return 0;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

]]>

本文固定链接: http://zmrlinux.com/2015/03/29/%e6%b5%85%e6%9e%90%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%8f%82%e6%95%b0/ | Kernel & Me

该日志由 root 于2015年03月29日发表在 C, C/C++ 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 浅析命令行参数 | Kernel & Me