c++技巧之可变参数函数

#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <iostream.h>
#include <stdlib.h>
//括号匹配快捷键 ctrl+]
//定位预处理 #if  #endif ctrl+K
//可变参数函数示例
int demo(char *msg,...);
//测试inlne
int add(int a,int b);

int main(){

	demo("demo","this","is","a","demo","program!","\0");
	int result=add(2,11);
	printf("\n %d\n",result);
	cout<<add(6,6)<<endl;
	//演示获取系统环境变量
	char *descr=getenv("path");//int putenv(const char*var);
	if(descr)
	{

		printf("%s",descr);
	}else{
		printf("the env is not defined!;");
	}
	putenv("flag=c:\\test\\flag");
	if(getenv("flag"))
	{

		printf("\nget env success!\n");
	}else{
		printf("\n get env failed;!\n");
	}

	return 0;
}
int demo(char *msg,...)
{

	va_list argp;//保存参数的结构
	int argno=0;//参数个数
	char buffer[256];
	va_start(argp,msg);//指向第一个可选参数

	while(1)
	{

		strcpy(buffer,va_arg(argp,char*));
		if(strcmp(buffer,"\0")==0)
			break;
		printf("参数 %d 是:%s\n",argno,buffer);
		argno++;
	}
	va_end(argp);//将argp置为NULL
	return 0;


}
inline int add(int a,int b)
{

	return a+b;
}

你可能感兴趣的:(c++技巧之可变参数函数)