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!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值