C语言命令行如何传参
来源:百度知道 编辑:UC知道 时间:2024/05/25 02:53:15
C语言命令行如何传参
比如 我已经把程序放到system32文件夹下(环境变量已经设好)
如何 在cmd命令行模式下 输入 print 5
它既启动print程序又把5传进print程序里并输出
也就是要一个效果如 一些Dos命令
如果参数没有该如何判断
我用strcmp(argv[1],"")没法判断
比如 我已经把程序放到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>