淘先锋技术网

首页 1 2 3 4 5 6 7

将用户才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”