将用户才CMD窗口输入可执行文件名的方式启动程序时,跟在可执行文件名后面的那些字符串,称为“命令行参数”。命令行参数可以有多个,以空格分隔。比如,在CMD窗口敲:
copy file1.txt file2.txt
“copy” ,”file1.txt” ,”file2.txt”就是命令行参数
如何在程序中获得命令行参数呢?
int main(int argc,char *argv[])
{
...
}
argc: 代表启动程序时,命令行参数的个数。C/C++语言规定,可执行程序本身的文件名,也算是一个命令行参数,因此,argc 的值至少是1。
argv:指针数组,其中的每个元素都是一个char*类型的指针,该指针指向一个字符串,这个字符串里就存放着命令行参数。
例如,argv[0]指向的字符串就是一个命令行参数,即可执行程序的文件名,argv[1]指向第二个命令行参数,argv[2]指向第三个…
//示例
#inclde<stdio.h>
int main(int argc,char *argv[])
{
for (int i=;i<argc;i++)
printf("%s\n",argv[i]);
return ;
}
将上面的程序编译成 sample.exe,然后在控制台窗口敲:
sample para1 para2 s.txt 5 “hello world”
输出结果:
sample
para1
para2
s.txt
“hello world”