c/cp++ - int main()

c/c++ main() 是 c/c++ 開發遇到的第一個問題 同時也不是很簡單東西 所以今天查點資料  與大家分享

 

 

 

1. 僅2種形態的main()被接受 即:

 

int main()

int main(int argc, char *argv[])

 

 

 

 

2. 以一個簡單例子演示之

 

* 代碼:接受參數 並打印之

 

include <iostream>

using namespace std;

int main(int argc, char *argv[]){

	printf("count:%i\n",argc);

	
	for(int i=0;i<argc;i++){
		cout<<i<<":"<<argv[i]<<endl;
	}
}

 

 

* g++ compile:

 

g++ list.cpp -o list

 

 

*  to run it w/ parameters:

 

$ ./list "Hello" "World"
count:3
0:./list
1:Hello
2:World

 

 

 

 3.  應用

 

比如命令: gcc source hello.cpp obj list


上述命令是:如何取出 hello 和 list 呢?

 

 

 * 先貼代碼:

 

#include <iostream>

using namespace std;

int isEven(int i){

	if((i&1)==1){		
		return 0;
	}
	else {
		return 1;
	}

}

char * getValue(char* index,int argc, char *argv[]){

	for(int i=1;i<argc;i++){
		if(strcmp(index,argv[i])==0){
			return argv[i+1];
		}
	
	}
	
	return "";

}


int main(int argc, char *argv[]){
	
	//for(int i=0;i<argc;i++){
	//	cout<<i<<":"<<argv[i]<<endl;
	//}
	
	if(isEven(argc-1)!=1){
		return -1;
	}
	
	char* s2 = getValue("hello", argc,argv);
	if(strcmp(s2,"")!=0){
		cout<<s2<<endl;
	}
	
	return 0;
	
}





 

 

* 解釋:

 

1. 先判斷參數個數 若爲奇數 則錯誤 反之爲對

2. 對參數列表逐個判斷 如果是目標索引名 則取出後一字符串

 

 

 

done!

 

 

 

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