参数里只有省略号参数该怎么获得参数列表
时间:2011-11-28
来源:互联网
int printc(...)
{
}
如这样的,该怎么将参数都读出来呢,找了半天都是第一个参数是实参的。。。
这种形式下求解
作者: qnetg123 发布时间: 2011-11-28
给个简单例子:
C/C++ code
int my_debug_printf(const char* str, ...) { int t = -1; //debug_begin(); va_list list; va_start(list, str); t = vprintf(str, list); va_end(list); return t; }
作者: FrankHB1989 发布时间: 2011-11-28
我的问题你没明白清楚~~,只有省略号参数,不带其它
作者: qnetg123 发布时间: 2011-11-28

作者: FrankHB1989 发布时间: 2011-11-28
C/C++ code
// variable_argument_lists.cpp #include <stdio.h> #include <stdarg.h> // Declaration, but not definition, of ShowVar. void ShowVar( char *szTypes, ... ); int main() { ShowVar( "fcsi", 32.4f, 'a', "Test string", 4 ); } // ShowVar takes a format string of the form // "ifcs", where each character specifies the // type of the argument in that position. // // i = int // f = float // c = char // s = string (char *) // // Following the format specification is a list // of n arguments, where n == strlen( szTypes ). void ShowVar( char *szTypes, ... ) { va_list vl; int i; // szTypes is the last argument specified; all // others must be accessed using the variable- // argument macros. va_start( vl, szTypes ); // Step through the list. for( i = 0; szTypes[i] != '\0'; ++i ) { union Printable_t { int i; float f; char c; char *s; } Printable; switch( szTypes[i] ) { // Type to expect. case 'i': Printable.i = va_arg( vl, int ); printf_s( "%i\n", Printable.i ); break; case 'f': Printable.f = va_arg( vl, double ); printf_s( "%f\n", Printable.f ); break; case 'c': Printable.c = va_arg( vl, char ); printf_s( "%c\n", Printable.c ); break; case 's': Printable.s = va_arg( vl, char * ); printf_s( "%s\n", Printable.s ); break; default: break; } } va_end( vl ); }
作者: skyworth98 发布时间: 2011-11-28
我不解释了~~~~~~~~~~~~~~~~
作者: qnetg123 发布时间: 2011-11-28
作者: qnetg123 发布时间: 2011-11-28
作者: qnetg123 发布时间: 2011-11-28
C++的int printc(...)类似于C的int printc(),就是传什么东西进去都没有形参接收,或者说,不关心你传什么东西进去……既然你要读参数,干嘛不用有前面有个参数的呢?
作者: FrankHB1989 发布时间: 2011-11-28
C++的int printc(...)类似于C的int printc(),就是传什么东西进去都没有形参接收,或者说,不关心你传什么东西进去……既然你要读参数,干嘛不用有前面有个参数的呢?
作者: FrankHB1989 发布时间: 2011-11-28
C++的int printc(...)类似于C的int printc(),就是传什么东西进去都没有形参接收,或者说,不关心你传什么东西进去……既然你要读参数,干嘛不用有前面有个参数的呢?
作者: FrankHB1989 发布时间: 2011-11-28
作者: pengzhixi 发布时间: 2011-11-28
因为我要把这些代码转成TCL可用的dll,总不能让TCL那边还要去计算下有多少个参数再传吧。
作者: qnetg123 发布时间: 2011-11-28
好像是这样,
如果是这样,那可不可以通过函数指针 得到整个函数中参数的指针
作者: qnetg123 发布时间: 2011-11-28
作者: pengzhixi 发布时间: 2011-11-28
作者: qnetg123 发布时间: 2011-11-28
作者: pengzhixi 发布时间: 2011-11-28
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28