main函数的完全格式是这样的:
int main(int argc, char* argv[], char* envp[])
下面详细介绍:
argc是执行程序时的命令行参数个数。需要注意的是,程序本身的文件也算一个。比如你写了个程序叫ex,若用下面的命令行启动:
ex /p /w
则argc的值为3。
argv是命令行中参数的具体值。比如上例,则有
argv[0]为 "ex "
argv[1]为 "/p "
argv[2]为 "/w "
其实,dos时代的命令行参数就是这样处理的。
最后一个envp是环境变量。
比如path=c:\windows之类的东西。它没有一个整数来为它记数,是通过最后一个evnp[i]==NULL来表示结尾的。
我写了一个程序,用来输出每个参数的值。楼主可以看一下。代码如下:
#include <iostream>
using namespace std;
int main(int argc, char* argv[], char* env[])
{
cout < < "argc------------------ " < <endl;
cout < <argc < <endl;
cout < < "argv------------------ " < <endl;
int i;
for(i=0;i <argc;i++)
cout < <argv[i] < <endl;
cout < < "env------------------- " < <endl;
for(i=0;env[i]!=NULL;i++)
cout < <env[i] < <endl;
return 0;
}
int
下面详细介绍:
argc是执行程序时的命令行参数个数。需要注意的是,程序本身的文件也算一个。比如你写了个程序叫ex,若用下面的命令行启动:
ex
则argc的值为3。
argv是命令行中参数的具体值。比如上例,则有
argv[0]为 "ex "
argv[1]为 "/p "
argv[2]为 "/w "
其实,dos时代的命令行参数就是这样处理的。
最后一个envp是环境变量。
比如path=c:\windows之类的东西。它没有一个整数来为它记数,是通过最后一个evnp[i]==NULL来表示结尾的。
我写了一个程序,用来输出每个参数的值。楼主可以看一下。代码如下:
#include
using
int
{
}