首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
拉钩
V2EX  ›  Linux

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

  •  
  •   paparika · 152 天前 · 850 次点击
    这是一个创建于 152 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    2 回复  |  直到 2018-07-13 11:14:28 +08:00
        1
    missdeer   152 天前   ♥ 1
        2
    paparika   152 天前
    谢楼上,结贴
    #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); \
    }
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3611 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1