c 语言,如何实现可变参数函数调用可变参数函数

2018-07-13 10:55:13 +08:00
 paparika

比如想实现一个函数 foobar(const char *format, ...){ printf(); }

只是在 printf 外面包裹一层,这里面怎么实现

1940 次点击
所在节点    Linux
2 条回复
missdeer
2018-07-13 11:02:10 +08:00
paparika
2018-07-13 11:14:28 +08:00
谢楼上,结贴
#include <stdarg.h>

void printf_wrapper(const char *format, ...)
{
va_list args;
va_start(args, format);

vprintf(format, args);//不可以是 printf!

va_end(args);
}

#define printf_wrapper_macro(format,args...) \
{ \
printf(format, ## args); \
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/470503

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX