首页 > 代码库 > c语言 可变参数传递 va_list使用
c语言 可变参数传递 va_list使用
通过使用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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。