http://blog.csdn.net/icmmed/article/details/6336613
int main(int argc, char* argv[])
argc是命令行参数的个数(程序路径自身也是一个参s数),
argv字符指针数组中就保存了指向各个参数字符串的指针(程序路径是第一个参数,由argv[0]指向)。
比如一个main.c文件里面的main函数定义如上所示,
那么当在命令行模式下执行main.c生成的main.exe文件时,格式如下:
main.exe aaa bbb ccc
那么:
argc=4
argv[0]="main.exe"
argv[1]="aaa"
argv[2]="bbb"
argv[3]="ccc"
====================================
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
for (i = 0; i<argc; i++) {
puts(argv[i]);
}
return 0;
}
====================================
如果这个程序生成的可执行文件名为main.exe,并以命令行的方式执行命令“main.exe aaa bbb ccc”,那么会输出:
main.exe
aaa
bbb
ccc
另外,main()函数可以有第三个参数,也是一个字符指针数组,这个数组中保存了指向保存当前系统中的环境变量字符串的指针,例如以下程序可以输出系统中定义的环境变量:
=========================================
#include <stdio.h>
int main(int argc, char* argv[],char *env[])
{
int i;
for (i = 0; env[i]; i++) {
puts(env[i]);
}
return 0;
}
=======================================
我的电脑上执行上面的程序输出是:
PATHEXT=.COM;.EXE;.BAT.....................................
PROCESSOR_ARCHITECTURE=x86
....................