va_start, va_arg, va_end 宏的学习
2014-08-14 09:09
211 查看
对于这几个宏的学习,直接看下宏定义就容易理解了。。
下面是示例
下面是示例
#include"stdafx.h" #include <stdio.h> #include <stdarg.h> #include<iostream> void printString( int first, ... ); // 声明 int Sum(int first, ...); int main( void ) { printString(3, "Good", "monring", "!"); std::cout << std::endl << std::endl; std::cout << Sum(1, 3, 4, 5, 5, -1) << std::endl; } void printString( int first, ... ) { char* pStr = NULL; va_list agrPtr = NULL; va_start(agrPtr, first); pStr = va_arg (agrPtr, char*); while(NULL != pStr) { std::cout << pStr << " "; pStr = va_arg (agrPtr, char*); } va_end(agrPtr); } int Sum(int first, ...) { int nSum = 0; int i = first; va_list argPtr; va_start(argPtr, first); while (-1 != i) { nSum += i; i = va_arg(argPtr, int); } va_end(argPtr); return nSum; }
相关文章推荐
- va_arg,va_start,va_end 使用学习
- windows学习笔记2——va_list,va_start,va_end,va_arg的使用
- va_list、va_start、va_arg、va_end的原理与使用
- va_list、va_start、va_arg、va_end的原理与使用
- va_start/va_arg/va_end原理与使用
- va_start va_end va_arg
- 理解va_list、va_start、va_arg、va_end原理及使用方法
- 数据结构 数组 va_start() va_arg() va_end()
- C++ 中 va_list va_start va_arg va_end 的用法!
- va_list、va_start、va_arg、va_end的原理与使用
- va_start/va_arg/va_end原理与使用
- 可变参数va_start, va_arg, va_end的用法
- va_start va_arg va_end 的使用和原理
- va_list、va_start、va_arg、va_end的原理与使用
- (转)va_start va_arg va_end 的使用和原理
- 解释va_arg, va_end, va_start
- 可变参数的函数 start va_arg va_end 的使用和原理
- 可变参数va_start, va_arg, va_end的用法
- Argument Access:va_start, va_arg, va_end, va_list
- 【转】va_list、va_start、va_arg、va_end的原理与使用