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;
}

以下是輸出結果:


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