具备命令行参数的程序只需要将程序的main()函数改为:
int main(int argc,char* argv[])
多了两个参数,第一个参数argc,表示参数的个数argument count,数据类型为整型int;第二个参数argv,表示参数向量argument vector,它是指向数组指针的变量,每个数组的一个元素都为指向某一个字符串的指针。argc和argv名称不是绝对的,可以选取任意喜欢的字符串,但这两个名称的含义是明显的。
如下commandLine程序是模仿dir/w和type的系统指令的操作:
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
int main(int argc,char* argv[])
{
if(argc==2)
{
switch(*(argv[1]+1))
{
case 'd':
system("dir/w c:\\");
break;
case 't':
system("type c:\\commandLine.cpp");
break;
default:
printf("Using commandLine -d or -t");
}
}
else
printf("Using CommandLine -d or -t");
printf("\n");
getch();
return 0;
}
编译成功之后,将commandLine.exe文件复制到c:\Users\Administrator目录下(命令行窗口的默认路径),将commandLine.cpp文件复制到C盘下。
打开命令行窗口,输入指令:
c:\Users\Administrator>commandLine -d
敲回车,得到如下的结果,
同理,输入指令
c:\Users\Administrator>commandLine -t
的如下结果,