`
gryphone
  • 浏览: 433569 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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!

 

 

 

分享到:
评论

相关推荐

    java小游戏贪吃蛇

    *作者:C.Jason *要点分析: *1)主要部分已经集成为一个对象SnakeModel,利用键盘控制实现操作。 *************************************************************************/ import java.awt.*; import java....

    lichee_20170502_1607_全志R16的linux系统编译需要改动的文件_使用parrotv1.1的内核_没有外层目录.7z

    rm /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/zconf.tab.c make[1]:正在离开目录 `/home/wwt/linux_r16/lichee/buildroot/package/config' # # configuration ...

    linux全志R16的linux系统编译的资料_20170502_1655.7z

    rm /home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/zconf.tab.c make[1]:正在离开目录 `/home/wwt/linux_r16/lichee/buildroot/package/config' # # configuration ...

    ARM-LINUX交叉编译环境建立

    int main(void) { printf("Hello, World!\n"); return 0; } ``` 使用交叉编译工具链编译这个程序: ```bash /opt/crosstool/gcc-3.3.6-glibc-2.3.2/arm-linux/bin/arm-linux-gcc hello.c -o hello ``` ...

    在Ubuntu上安装STLinux

    int main(void) { printf("Hello from STLinux\n"); return 0; } ``` 3. **编译测试代码** - 使用命令:`sh4-linux-uclibc-gcc -o hello hello.c` 4. **运行测试程序** - 执行命令:`./hello` - 如果一切...

    dp18_ap6330整理完工20170209_1129.7z

    int userial_set_port(char *p_conf_name, char *p_conf_value, int param) ^ hardware/broadcom/libbt/src/userial_vendor.c:386:65: warning: unused parameter 'param' [-Wunused-parameter] int userial_set_...

    ubuntu下使用crosstool-ng的方法

    echo "int main(){ return 0; }" &gt; test.c /home/yao/crosstool/tools/arm-y-linux-gnueabi-gcc test.c -o test ``` #### 六、常见问题及解决方法 1. **问题:** 编译过程中遇到依赖缺失的问题。 - **解决方案:** ...

    CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)

    int main() { std::shared_ptr&lt;int&gt; pInt(new int(5)); std::cout *pInt ; return 0; } ``` 尝试编译上述代码: ```bash [root@uatjenkins01 tmp]# g++ -std=c++11 -o tryCpp11 tryCpp11.cc cc1plus: error: ...

    实用技巧:Gdbserver远程调试的具体实现

    int main() { printf("Hello, world!\n"); return 0; } ``` - 编译:`arm-linux-gcc hello.c -o hello` - 注意:`arm-linux-gcc` 为针对 ARM 架构的 GCC 编译器。 - 在开发主机上运行编译后的程序。 - 使用...

    级数求和

    #include "math.h" /* cp41.c ⑴ */ main() { int n; double x, t, c; scanf("%lf", &x); /* t=首项值,n=第2项号 */ for(c=0, t=x1, n=2; fabs(t)&gt;=1e-6; n++) { c=c+t; /* 累加当前项 */ t*=-1*x*x/(2*(n-...

    cpp-compiler-options:不同版本的Clang,GCC和MSVC的编译选项。 提供了生成器和不同的文件格式(cmake,xmake,介子,premake5,bjamb2等)

    不同版本的Clang,GCC和MSVC的编译选项。 提供了生成器和不同的文件格式(构建系统和编译器)。 所述output目录包含文件cmake , xmake , premake5 , meson , bjam / b2 , scons和命令行选项gcc / g++ ...main.cp

    Cross –compile GNU Classpath 0.98 and jamvm 1.54 to ARM 9

    /jamvm_arm/bin/jamvm -cp &lt;your_class_path&gt; &lt;your_java_main_class&gt; ``` 以上步骤完成后,你应该能够在 ARM 9 设备上成功运行由 jamvm 支持的 Java 应用了。不过,这个过程中可能还会遇到其他依赖问题或编译...

    JsonCpp的安装

    int main() { string test = "{\"id\":1,\"name\":\"kurama\"}"; Json::Reader reader; Json::Value value; if (reader.parse(test, value)) { if (!value["id"].isNull()) { cout ["id"].asInt() ; cout ...

    STM32函数指针 数码管显示 寄存器版本

    int main(void) { u8 Seg_Index = 0; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能PB端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //...

    linux常用命令课题综合练习答案.docx

    - 含义:使用`vim`编辑器创建或编辑文件`main.c`。 - 结果:打开一个空白的编辑器窗口供用户编写C语言程序。 20. **`gcc hi.c -o hi`** - 含义:编译`hi.c`文件生成可执行文件`hi`。 - 结果:生成一个可执行...

    k-mean聚类算法实现

    double System::EucNorm(int p, int c){ // Calc Euclidean norm of vector difference double dist,x; // between pattern vector, p, and cluster int i; // center, c. char zout[128]; char znum[40]; char...

    icub安装与配置

    int ACE_TMAIN(int argc, ACE_TCHAR* argv[]) { ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello World!"))); return 0; } ``` - 编译命令: - `# g++ -I/usr/local/ACE/include HelloWorld.cpp` - 链接命令: - `#...

    ContentProvider

    &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; android:authorities=...

Global site tag (gtag.js) - Google Analytics