命令行变元(argc,argv[])
2007-10-09 16:10
274 查看
在支持c语言的环境中,可以在程序开始执行时候将命令行变元或者参数传递给程序。调用主函数时,它可以带有两个变元。第一个变元(习惯上称作argc,用于变元计数)的值为程序执行时命令行中变元的数目,(第二个变元成为argv,用于变元向量),是一个指向字符串数组的指针,其中每个字符串对应一个变元。我们常用多级指针处理这些字符串。
例如 命令
echo hello, world
打印输出 hello , world
则 argc=3;(输入字符串的数目)
argv[0]=echo; argv[1]=hello ;argv[2]=world ;
莱格图吧,用画图板的,哈哈,太痛苦了。
----------〉算了,弄不上来,真是浪费时间。— 。— !
c语言标准要求第一个变元argc[0]为调用相应程序的命令名(我理解就是程序的文件名),且最后一个argv[argc]必须为空指针。因此argc的值至少为1。若其值为1,则命令名后面没有命令行变元。实际上可选变元为argv[1]......argv[argc-1].
#include<stdio.h>
//回应程序命令行变元,第一个版本
main(int argc, int *argv[])
...{
int i;
printf("%d ",argc);
for(i=0;i<argc;i++)
...{
printf("%s%s",argv[i],(i<argc-1)? " " : " " );
printf(" ");
}
return 0;
}
输出结果如下图:
main(int argc,int *argv[])
...{
int i=argc;
printf("%d ",argc);
while(argc-->=0)
...{
printf("%s%s",argv[i--],(i>0)? " " : " ");
printf(" ");
}
}
结果如下图:
注意到没,按照argc的递增或者递减的顺序输出的参数不同。
摘抄一点别人的东西吧,呵呵
这是C语言中的命令行参数,所谓命令行参数,就是在DOS下执行命命令所需要的参数,我们
学习C语言的时候,一般都是编一些小程序,输出一些数据了等等,但是如果我们编制这样
一个程序,比如编制一个程序能把一个文件的内容追加到另外一个文件中,这样我们编的程
序就需要你提供命令的后面两个文件名(和命令一起称做命令行参数)
如这个程序叫做append使用时候(在dos下敲入如下命令)如下使用
如:append file1.c file2.c
就可以完成file1.c的,内容追加到file2.c中
那么几个字符串:append、file1.c和file2.c三个实参传给谁呢,这就需要在main()函数定
义一些形式参数用来接收这些实参
在命令行中输入的字符串的个数就存储在argc当中,三个字符串的内容存储char *a
rgv[]当中
这样在定义的时候主函数就定义为:
main(int argc,char *argv[])
例如 命令
echo hello, world
打印输出 hello , world
则 argc=3;(输入字符串的数目)
argv[0]=echo; argv[1]=hello ;argv[2]=world ;
莱格图吧,用画图板的,哈哈,太痛苦了。
----------〉算了,弄不上来,真是浪费时间。— 。— !
c语言标准要求第一个变元argc[0]为调用相应程序的命令名(我理解就是程序的文件名),且最后一个argv[argc]必须为空指针。因此argc的值至少为1。若其值为1,则命令名后面没有命令行变元。实际上可选变元为argv[1]......argv[argc-1].
#include<stdio.h>
//回应程序命令行变元,第一个版本
main(int argc, int *argv[])
...{
int i;
printf("%d ",argc);
for(i=0;i<argc;i++)
...{
printf("%s%s",argv[i],(i<argc-1)? " " : " " );
printf(" ");
}
return 0;
}
输出结果如下图:
main(int argc,int *argv[])
...{
int i=argc;
printf("%d ",argc);
while(argc-->=0)
...{
printf("%s%s",argv[i--],(i>0)? " " : " ");
printf(" ");
}
}
结果如下图:
注意到没,按照argc的递增或者递减的顺序输出的参数不同。
摘抄一点别人的东西吧,呵呵
这是C语言中的命令行参数,所谓命令行参数,就是在DOS下执行命命令所需要的参数,我们
学习C语言的时候,一般都是编一些小程序,输出一些数据了等等,但是如果我们编制这样
一个程序,比如编制一个程序能把一个文件的内容追加到另外一个文件中,这样我们编的程
序就需要你提供命令的后面两个文件名(和命令一起称做命令行参数)
如这个程序叫做append使用时候(在dos下敲入如下命令)如下使用
如:append file1.c file2.c
就可以完成file1.c的,内容追加到file2.c中
那么几个字符串:append、file1.c和file2.c三个实参传给谁呢,这就需要在main()函数定
义一些形式参数用来接收这些实参
在命令行中输入的字符串的个数就存储在argc当中,三个字符串的内容存储char *a
rgv[]当中
这样在定义的时候主函数就定义为:
main(int argc,char *argv[])
相关文章推荐
- 一个能把命令行解析为argc和argv数组的函数
- 分解命令行字符串为argc和argv
- 关于Win32 SDK(C++)的命令行获取,通过__argc和__argv
- C++中main函数中参数argc和argv的使用实例
- 关于main函数中argc和argv的简单介绍
- 重学C++Primer笔记1---从main函数说起之argc,argv,%ERRORLEVEL%
- CMake + CodeBlocks + argc argv
- int main(int argc, char *argv[])中argc和argv的解释
- argc与argv
- argc和argv
- args argc argv 的意思以及英文缩写
- argc与argv的说明
- 7.1.8 main函数带参数,参数argc和argv的含义
- main 函数argc , argv 主命令行参数
- main函数的参数:argc和argv
- 关于C/C++中main函数参数中argc和argv的解释
- c语言中main函数参数argc,argv说明,及命令行中如何传参数
- (一)main函数的argc、argv实现本质
- argc,argv的含义
- 命令行参数技巧:__argc,__argv