va_list、va_start、va_arg、va_end
来源:互联网 发布:厂家怎么投诉淘宝卖家 编辑:程序博客网 时间:2024/05/02 04:21
typedef char* va_list;
#define va_start _crt_va_start
#define va_arg _crt_va_arg
#define va_end _crt_va_end
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1)
#define _crt_va_start(ap,v) ( ap = (va_list)_ADDRESSOF(v) + _INTSIZEOF(v) )
#define _crt_va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define _crt_va_end(ap) ( ap = (va_list)0 )
void MyPrintf(const char* strFormat, ...)
{
va_list ap;
va_start(ap, strFormat);
char szBuffer[1024] = {0};
vsnprintf(szBuffer, _countof(szBuffer), strFormat, ap);
va_end(ap);
printf(szBuffer);
}
int main(int argc, char* args[])
{
MyPrintf("int = %d, double = %f, char = %c", 10, 10.0, 'c');
return 0;
}
- VA_LIST VA_START VA_ARG VA_END
- va_list、va_start、va_arg、va_end
- va_list va_start va_arg va_end
- va_list、va_start、va_arg、va_end
- 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_list、va_start、va_arg、va_end
- va_list/va_start/va_arg/va_end
- va_start/va_arg/va_end/va_list
- va_list va_start va_arg va_end 详解
- va_list(),va_start(),va_arg(),va_end()
- va_list va_start va_arg va_end解析
- va_list , va_start , va_arg , va_end详解
- va_list,va_start,va_arg,va_end详解
- va_list,va_start, va_arg,va_end用法
- va_list、va_start、va_arg、va_end用法
- va_list va_start va_arg va_end 使用方法
- 没有亲历,你不知道读大学有多不易
- Oracle9i 字符集与NLS_LANG搭配测试兼乱码问题分析
- oracle 乱码
- JavaScript 开发者经常忽略或误用的 7 个基础知识点
- 参加综合医疗保险的非深户籍可享生育保险
- va_list、va_start、va_arg、va_end
- oracle出现乱码解决心得
- 深圳市社会医疗保险门诊大病管理办法
- 十一种值得深交的女生
- 解绝网页不能复制的方法
- Iterator和listIterator的区别
- 让人叹为观止的蛋壳艺术
- oracle参数文件、控制文件、数据文件、日志文件存放位置查看
- ORACLE日期函数集锦