每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点。当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数。第一个参数int argc,表示命令行参数的个数。第二个参数char *argv[],是一个指向命令行参数的指针数组,每一参数又都是以空字符(null) 结尾的字符串。第一个字符串,亦即argv[0]指向的,(通常)是该程序的名称。argv中的指针列表以NULL指针结尾(即argv[argc]为NULL)。
argv[0]包含了调用程序的名称,
使用main(int argc,char *argv[]) == main(int argc,char **argv)的基本操作是linux编程的最基本的一步,在windows下也是exe脱离IDE运行的必学技能,程序编译成功之后,在cmd下,使用参数输入来运行程序,自己控制程序参数的输入来测试和运行程序。
int argc代表输入参数的个数,英文全名arguments count,以空格来计数,程序名(*.exe)是为第一个参数。
char *argv[]以字符数组的方式储存参数内容,英文全名arguments vector,argv[1]代表程序名。
下面的程序演示argc和argv的使用:
#include <stdio.h> int main(int argc, char ** argv) { int i; for (i=0; i < argc; i++) printf("Argument %d is %s./n", i, argv[i]); return 0; }
假如上述代码编译为hello.exe,那么运行
hello.exe a b c d e
将得到
Argument 0 is hello.exe. Argument 1 is a. Argument 2 is b. Argument 3 is c. Argument 4 is d. Argument 5 is e.
运行
hello.exe lena.jpg
将得到
Argument 0 is hello.exe. Argument 1 is lena.jpg.
方法2. 项目——属性——配置属性——调试——命令参数,设置命令参数就可以传入
http://www.cnblogs.com/rainbow70626/p/5595454.html