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; } //---------------------------------------------------------------------------
相关文章推荐
- vsprintf,va_list可变参数的使用
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- va_list,可变参数的使用
- 详解_C语言可变参数_va_list和_vsnprintf及printf实现
- 使用va_list编写可变参数的函数
- C语言中的可变参数:va_list ,va_start,va_arg,va_end
- 《C语言接口与实现》实验——可变参数表的使用(va_list, va_start, va_arg, va_end)
- C,C++中使用可变参数[va_list、va_start(),va_end()和va_arg()]
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- C语言可变参数,va_arg、va_list,va_start,va_end,_INTSIZEOF
- C语言:可变参数的函数(VA使用说明)
- 详解C语言可变参数 va_list和_vsnprintf及printf实现
- C语言可变参数函数及三个宏va_start、va_arg和va_end的使用
- 详解_C语言可变参数_va_list和_vsnprintf及printf实现
- va_list可变参数传递
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- C语言中可变参数的用法——va_list、va_start、va_arg、va_end参数定义
- 详解_C语言可变参数_va_list和_vsnprintf及printf实现
- va_list可变参数传递(ZZ)
- 【转载】理解可变参数va_list、va_start、va_arg、va_end原理及使用方法