首页 > 编程语言 > 详细

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

时间:2014-06-10 22:35:12      阅读:430      评论:0      收藏:0      [点我收藏+]

通过使用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;
}
//---------------------------------------------------------------------------

本文出自 “风清扬song” 博客,请务必保留此出处http://2309998.blog.51cto.com/2299998/1423699

c语言 可变参数传递 va_list使用,布布扣,bubuko.com

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

原文:http://2309998.blog.51cto.com/2299998/1423699

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!