您的位置:首页 > 编程语言 > C语言/C++

c语言 可变参数传递 va_list使用

2014-06-08 18:23 267 查看
通过使用VA_LIST可以实现向函数传递不同数目的参数。
#include <stdarg.h>
#include <iostream>
#include <string>
using namespace std;
#pragma argsused
//函数A 传递若干个整形变量
void Funca(int n,...)
{
//定义获取变量的结构体
va_list va_ptr;
//开始从头部开始获取变量
va_start(va_ptr,n);
for(int iIndex = 0; iIndex < n; iIndex++)
{
//定义获取变量的类型
int nArgValue = va_arg(va_ptr,int);
cout<<"value is"<<nArgValue<<endl;
}
//结束获取变量
va_end(va_ptr);
}
//函数b 获取不定数目的字符串
void Funcb(int num,...)
{
va_list va_ptr;
va_start(va_ptr,num);
char *sValue;
for(int iIndex = 0; iIndex < num; iIndex ++)
{
sValue = va_arg(va_ptr,char*);
cout<<"value is"<<sValue<<endl;
};
va_end(va_ptr);
}
int main(int argc, char* argv[])
{
char c;
Funca(3,1,2,3,4,5,6);
Funcb(2,"b","c","-1");
c = getchar();
return 0;
}
//---------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c va_list