main()函数的第三个参数,你不是哪里都能看到它的身影

  今天,又重读了一下候Sir的《深入浅出MFC》,着实又体验了一把“温故而知新”,孔老儿诚不欺吾。不得不说候Sir的书越读越有味道。

  对于任何学习C/C++的人来说,一般都是以一个Hello,World!程序进入编程的大门的。

  一般我们见到的入口函数有这么几种格式:

void main();
int  main()
void main(int argc, char** argv);
int  main(int argc, char** argv);

但是像下面的这种格式,你不是经常能够见到。所以,如果你是第一次看到的话,请掌握它:


void main(int argc, char** argv,char** envp);


不错,你确实是看到它有第三个参数。那么,这个参数的意义就像它的名字那样,是表示系统的环境变量的。

既然知道它的意思,就让我用一个测试程序来说明它们的具体含义吧:

#include <iostream>
using namespace std;

int main(int argc, char** argv, char** envp)
{
	cout<<"This program is started(under cmd) with command as follow: "<<endl<<"\t";
	for(int i=0;i<argc;i++)
		cout<<argv[i]<<" ";
	cout<<endl;

	cout<<endl<<"The number of parameters is: "<<argc<<endl<<endl;

	cout<<"Parameters: "<<endl;
	for(int i=0;i<argc;i++)
		cout<<"("<<i+1<<")"<<"\t"<<argv[i]<<endl;

	cout<<endl<<"The environment variables are: "<<endl;
	for(int i=0;envp[i]!='\0';i++)
		cout<<"("<<i+1<<")"<<"\t"<<envp[i]<<endl;

	return 0;
}

以下是输出结果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章