C语言命令行如何传参

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:53:15
C语言命令行如何传参

比如 我已经把程序放到system32文件夹下(环境变量已经设好)

如何 在cmd命令行模式下 输入 print 5

它既启动print程序又把5传进print程序里并输出

也就是要一个效果如 一些Dos命令
如果参数没有该如何判断
我用strcmp(argv[1],"")没法判断

用main()函数的参数就可以将外部数据传给程序了!

例如:

//////////////////////////////
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
int i;
if (argc>1) {
system("cls");
for (i=1; i < argc; i++) printf("%s ",argv[i]);

}
return 0;

}
return 0;
}
///////////////////////////////////////////
上面的程序生成的可执行文件为C:\PG.EXE

则在命令提示符下输入 回车即可在屏幕上输出5。

****************************************************

argc就是参数的数量,由于第一个参数是程序名及路径自身,所以实际上传递到程序的参数数量是argc-1,数组argv中的第一个元素(即argv[0]是程序名及路径自身,例如上面的“ C:\pg 5”则argc==2,argv[0]=="C:\pg")

主函数写成main(int n,char *arg[])

那么在你的程序里
n为你输入的参数的个数(包括程序名)
arg[0]为程序名
arg[1]...等等为参数
如print 5 6 7

则n等于4
arg[0]等于“print”

arg[1]等于“5”
arg[2]等于“6”
arg[3]等于“7”

#include <stdio.h>